Data Management Report Transformative Change Assessment Corpus - SOD

Author
Affiliation

Rainer M. Krug

Published

April 18, 2024

Doi
Abstract

The literature search for the assessment corpus was conducted using search terms provided by the experts and refined in co-operation with the Knowldge and Data task force. The search was conducted using OpenAlex, scripted from R to use the API. Search terms for the following searches were defined: Transformative Change, Nature / Environment and additional search terms for individual chapters and sub-chapters To assess the quality of the corpus, sets of key-papers were selected by the experts to verify if these are in the corpus. These key-papers were selected per chapter / sub-chapter to ensure that the corpus is representative of each chapter.

Keywords

DMR, TCA, Assessment Corpus

DOI GitHub release GitHub commits since latest release License: CC BY 4.0

Working Title

IPBES_TCA_Corpus

Code repo

Github repository

Build No: 474

Introduction

The following terminology is used in this document:

  • Individual corpus: The corpus resulting from one search term, e.g. transformative or nature or ChX_Y
  • Assessment Corpus: The corpus resulting from the search terms transformative AND nature
  • Chapter corpus: The corpus resulting from transformative AND Nature AND ChX_Y

The following searches are conducted on Title and Abstrat only as the availability of fulltext drops in 2020. OpenAlex did “inherit” fro Microsoft Academic their initial corpus in 2021 which contained a lot of fulltext for searches. After that time, other sources had to be used which did not include fulltext for searches. To eliminate this bias, we linit the search for terms in abstract and title only.

Schematic Overview

TODO

Search Terms

Here are the search terms used in this document. They were provided by the authors, and some adaptations were done by the tsu to adopt them for OpenAlex.

Transformative Change

Show the code
cat(params$s_1_transformative_change)
(
    (
        (
            transformation
            OR transition
            OR transformative
            OR "transformative change"
        )
        OR (
            (
                shift
                OR change
            )
            AND (
                fundamental
                OR deep
                OR radical
            )
        )
    )
    AND (
        socio
        OR social
        OR politics
        OR political
        OR governance
        OR economic
        OR cultural
        OR system
        OR technological
        OR inner
        OR personal
        OR financial
        OR business
    )
)
OR (
    (
        "transformative change"
        OR "deliberate transformation"
        OR "transformative turn"
        OR transition
        OR "social-ecological change"
        OR "deep change"
        OR "fundamental alteration"
        OR "profound change"
        OR "profound transformation"
        OR "radical transformation"
        OR "transformational change"
        OR "complete change"
        OR "complete transformation"
        OR "drastic change"
        OR "in-depth transformation"
        OR "progressive change"
        OR "radical alteration"
        OR "radical change"
        OR "revolutionary change"
        OR "significant modification"
        OR "total transformation"
        OR transition
        OR pathway
        OR power
        OR agency
        OR scale
        OR leverage
        OR context
        OR process
        OR regime
        OR shift
        OR views
        OR value
        OR structure
        OR institution
        OR deliberate
        OR structural
        OR fundamental
        OR system
        OR deep
        OR radical
        OR profound
        OR drastic
        OR widespread
        OR political
        OR economical
        OR structur
        OR complete
        OR progressive
        OR revolutionary
        OR substantial
        OR significant
    )
    AND (
        transformation
        OR alteration
        OR change
        OR turn
        OR action
        OR transition
        OR shift
    )
)

Nature

Show the code
#|

cat(params$s_1_nature_environment)
biodiversity
OR marine
OR terrestrial
OR forest
OR woodland
OR grassland
OR savanna
OR shrubland
OR peatland
OR ecosystem
OR lake
OR river
OR sea
OR ocean
OR meadow
OR heathland
OR mires
OR bog
OR tundra
OR biosphere
OR desert
OR mountain
OR "natural resource"
OR estuary
OR fjord
OR fauna
OR flora
OR soil
OR "coastal waters"
OR wetland
OR freshwater
OR marshland
OR marches
OR dryland
OR seascape
OR landscape
OR coast
OR "arable land"
OR "agricultural land"
OR "natural environment"
OR "environmental resource"
OR agroforest
OR "agro-forest"
OR plantation
OR "protected areas"
OR chaparral
OR sustainable
OR environment
OR conservation
OR ecosystem
OR nature
OR planet
OR Earth
OR biosphere
OR ecological
OR "socio-ecological"
OR restoration
OR wildlife
OR landscape
OR species
OR bioeconomy
OR "resource system"
OR "coupled system"
OR nature

Assessment Corpus

Show the code
#|

cat(params$s_1_tca_corpus)
( biodiversity
OR marine
OR terrestrial
OR forest
OR woodland
OR grassland
OR savanna
OR shrubland
OR peatland
OR ecosystem
OR lake
OR river
OR sea
OR ocean
OR meadow
OR heathland
OR mires
OR bog
OR tundra
OR biosphere
OR desert
OR mountain
OR "natural resource"
OR estuary
OR fjord
OR fauna
OR flora
OR soil
OR "coastal waters"
OR wetland
OR freshwater
OR marshland
OR marches
OR dryland
OR seascape
OR landscape
OR coast
OR "arable land"
OR "agricultural land"
OR "natural environment"
OR "environmental resource"
OR agroforest
OR "agro-forest"
OR plantation
OR "protected areas"
OR chaparral
OR sustainable
OR environment
OR conservation
OR ecosystem
OR nature
OR planet
OR Earth
OR biosphere
OR ecological
OR "socio-ecological"
OR restoration
OR wildlife
OR landscape
OR species
OR bioeconomy
OR "resource system"
OR "coupled system"
OR nature ) 
AND 
( (
    (
        (
            transformation
            OR transition
            OR transformative
            OR "transformative change"
        )
        OR (
            (
                shift
                OR change
            )
            AND (
                fundamental
                OR deep
                OR radical
            )
        )
    )
    AND (
        socio
        OR social
        OR politics
        OR political
        OR governance
        OR economic
        OR cultural
        OR system
        OR technological
        OR inner
        OR personal
        OR financial
        OR business
    )
)
OR (
    (
        "transformative change"
        OR "deliberate transformation"
        OR "transformative turn"
        OR transition
        OR "social-ecological change"
        OR "deep change"
        OR "fundamental alteration"
        OR "profound change"
        OR "profound transformation"
        OR "radical transformation"
        OR "transformational change"
        OR "complete change"
        OR "complete transformation"
        OR "drastic change"
        OR "in-depth transformation"
        OR "progressive change"
        OR "radical alteration"
        OR "radical change"
        OR "revolutionary change"
        OR "significant modification"
        OR "total transformation"
        OR transition
        OR pathway
        OR power
        OR agency
        OR scale
        OR leverage
        OR context
        OR process
        OR regime
        OR shift
        OR views
        OR value
        OR structure
        OR institution
        OR deliberate
        OR structural
        OR fundamental
        OR system
        OR deep
        OR radical
        OR profound
        OR drastic
        OR widespread
        OR political
        OR economical
        OR structur
        OR complete
        OR progressive
        OR revolutionary
        OR substantial
        OR significant
    )
    AND (
        transformation
        OR alteration
        OR change
        OR turn
        OR action
        OR transition
        OR shift
    )
) )

Chapter 1

01

Show the code
#|

cat(params$s_1_ch1_01)
(
    root
    OR underlying
    OR indirect
)
AND (
    driver
    OR cause
)

02

Show the code
#|

cat(params$s_1_ch1_02)
equity
OR inequity
OR just
OR unjust
OR inequality
OR equality
OR Fair
OR unfair

03

Show the code
#|

cat(params$s_1_ch1_03)
scale
OR impact
OR leapfrog
OR transfer

04

Show the code
#|

cat(params$s_1_ch1_04)
inclusive
OR participation
OR participatory
OR engagement
OR democratic
OR coproduct
OR transdisc
OR multiactor
OR "multi-actor"
OR integrat

05

Show the code
#|

cat(params$s_1_ch1_05)
evaluate
OR reflex
OR reflect
OR monitor
OR adapt
OR learn

06

Show the code
#|

cat(params$s_1_ch1_06)
responsib
OR accountable
OR rights
OR steward
OR reciprocity
OR interdependent
OR interdependency
OR (
    relation
    OR relational
    OR plural
    OR diverse
    OR "sustainability-aligned"
    OR (
        care
        AND (
            value
            OR ethic
        )
    )
)

Chapter 2

Show the code
#|

cat(params$s_1_ch2)
vision
OR future
OR visionary
OR scenarios
OR imagination
OR imagery
OR creativity
OR desire
OR wish
OR visioning
OR process
OR "participaory process"
OR "deliberate process"
OR polics
OR target
OR view
OR value
OR cosmovision
OR cosmocentric
OR dream
OR fiction
OR hope
OR mission
OR objective
OR story
OR worldview
OR aspiration
OR action
OR plan
OR strategy
OR intention
OR model
OR solution
OR innovation
OR perspective
OR platform
OR collective action
OR cooperation
OR consultation
OR coalition
OR response
OR movement
OR effort
OR initiative
OR activity
OR reaction
OR performance
OR operation
OR effect
OR task
OR project
OR influence
OR moment
OR discourse
OR motivation
OR iteration
OR roadmap
OR agenda
OR project
OR programm
OR government
OR technique
OR inspiration
OR culture
OR universe
OR reality
OR fantasy
OR perception
OR visualization
OR approach
OR image
OR arquetype
OR existence
OR cosmology
OR co - production
OR knowledge
OR dialogue
OR transmission
OR conceptual
OR ceremony
OR relationships
OR respect
OR reciprocity
OR responsibilities
OR solidarity
OR harmony
OR self - determination
OR community
OR spiritual
OR languague
OR territory
OR opportunity
OR sight
OR foresight
OR idea
OR appearance

Chapter 3

01

Show the code
#|

cat(params$s_1_ch3_01)
Technology
OR Science
OR "science-society"
OR "science-technology"
OR Solution

02

Show the code
#|

cat(params$s_1_ch3_02)
"co-create"
OR "co-creation"
OR solution
OR knowledge
OR system
OR "t-lab"
OR "technology laboratory"
OR education
OR "socio-technical"

03

Show the code
#|

cat(params$s_1_ch3_03)
System
OR pathways
OR connect
OR Agroecolog
OR Institutional
OR Institution
OR Government

04

Show the code
#|

cat(params$s_1_ch3_04)
inner
OR Personal
OR Religion
OR Love
OR Loving
OR Feelings
OR Stewardship
OR Care
OR Beliefs
OR Belief
OR believe
OR Awareness
OR "Self-Awareness"

05

Show the code
#|

cat(params$s_1_ch3_05)
Worldviews
OR Grassroot
OR "Community-based"
OR Indigenous
OR Leadership
OR "Critical Science"
OR Econfeminism
OR "Political Ecology"
OR Power
OR Agency
OR Environment

06

Show the code
#|

cat(params$s_1_ch3_06)
Economic
OR "Political Economy"
OR institution
OR govern
OR economy
OR governance
OR government
OR globalization
OR states
OR colonial
OR colonialiasism
OR labour
OR organization
OR organisation

Chapter 4

01

Show the code
#|

cat(params$s_1_ch4_01)
(
    challenge
    OR barrier
    OR obstacle
    OR hinder
    OR hindrance
    OR block
    OR prevent
    OR deter
    OR inertia
    OR "path dependence"
    OR "path dependency"
    OR stasis
    OR "lock-in"
    OR trap
    OR habits
    OR habitual
    OR "status quo"
    OR power
    OR "limiting factOR"
)
AND (
    economic inequality
    OR "Wealth concentration"
    OR "Socioeconomic inequality"
    OR financialization
    OR "uneven development"
    OR Financialization
    OR "Structural adjustment"
    OR "Sovereign Debt"
    OR inequality
    OR "Policy effectiveness"
)

02

Show the code
#|

cat(params$s_1_ch4_02)
(
    challenge
    OR barrier
    OR obstacle
    OR hinder
    OR hindrance
    OR block
    OR prevent
    OR deter
    OR inertia
    OR "path dependence"
    OR "path dependency"
    OR stasis
    OR "lock-in"
    OR trap
    OR habits
    OR habitual
    OR status quo
    OR power
    OR "limiting factor"
)
AND (
    "clean technology"
    OR "clean innovation*"
    OR "sustainable innovation"
    OR "sustainable technological innovation"
)
AND (
    "limited access"
    OR "limited availability"
    OR "lack of access"
    OR "unavailability"
)

Chapter 5

Vision

Show the code
#|

cat(params$s_1_ch5_vision)

Case

Show the code
#|

cat(params$s_1_case)
"case study"
OR case
OR "study area"
OR example
OR evaluation
OR concrete
OR empirical
OR practical
OR initiative

Vision & Case

Topics

OpenAlex assigns topics to each work in a hirarchical manner:

Please see here for more information and here for a complete list of all topics and their corresponding subfields, fields and domains.

Methods

Get and calculate Data from OpenAlex

These data is gathered from OpenAlex directly, not using the downloaded TCA Corpus. The data is used to assess the quality of the TCA Corpus.

Show the code
#|

fn <- file.path(".", "data", "tca_corpus", "search_term_hits.rds")
if (!file.exists(fn)) {
    s_t <- grep("s_1_", names(params), value = TRUE)
    search_term_hits <- parallel::mclapply(
        s_t,
        function(stn) {
            message("getting '", stn, "' ...")
            if (grepl("_f_", stn)) {
                search <- params[[stn]]()
            } else {
                search <- params[[stn]]
            }
            search <- compact(search)
            openalexR::oa_query(filter = list(title_and_abstract.search = search)) |>
                openalexR::oa_request(count_only = TRUE, verbose = TRUE) |>
                unlist()
        },
        mc.cores = params$mc.cores,
        mc.preschedule = FALSE
    ) |>
        do.call(what = cbind) |>
        t() |>
        as.data.frame() |>
        dplyr::mutate(page = NULL, per_page = NULL) |>
        dplyr::mutate(count = formatC(count, format = "f", big.mark = ",", digits = 0))

    rownames(search_term_hits) <- s_t |>
        gsub(pattern = "s_1_", replacement = "") |>
        gsub(pattern = "f_", replacement = "") |>
        gsub(pattern = "^ch", replacement = "Chapter ") |>
        gsub(pattern = "_", replacement = " ")

    saveRDS(search_term_hits, file = fn)
} else {
    search_term_hits <- readRDS(fn)
}
Show the code
#|

fn <- file.path(".", "data", "tca_corpus", "key_papers.rds")
if (!file.exists(fn)) {
    key_papers <- lapply(
        params$key_papers,
        function(fn) {
            message("Processing '", fn, "' ...")
            sapply(
                fn,
                function(x) {
                    read.csv(x) |>
                        select(DOI)
                }
            ) |>
                unlist()
        }
    )
    names(key_papers) <- gsub("\\.csv", "", basename(params$key_papers))

    key_papers <- list(
        Ch_1 = unlist(key_papers[grepl("Ch 1 -", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_2 = unlist(key_papers[grepl("Ch 2 -", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_3_Cl_1 = unlist(key_papers[grepl("Ch 3 - Cl1", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_3_Cl_3 = unlist(key_papers[grepl("Ch 3 - Cl3", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_3_Cl_4 = unlist(key_papers[grepl("Ch 3 - Cl4", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_3_Cl_5 = unlist(key_papers[grepl("Ch 3 - Cl5", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_3_Cl_6 = unlist(key_papers[grepl("Ch 3 - Cl6", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_3 = unlist(key_papers[grepl("Ch 3 - p", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_4_Cl_1 = unlist(key_papers[grepl("Ch 4 - Challenge 1", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_4_Cl_2 = unlist(key_papers[grepl("Ch 4 - Challenge 2", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_4_Cl_3 = unlist(key_papers[grepl("Ch 4 - Challenge 3", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_4_Cl_4 = unlist(key_papers[grepl("Ch 4 - Challenge 4", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_4_Cl_5 = unlist(key_papers[grepl("Ch 4 - Challenge 5", names(key_papers))], recursive = FALSE) |> as.vector(),
        Ch_5 = unlist(key_papers[grepl("Ch 5 -", names(key_papers))], recursive = FALSE) |> as.vector()
    )

    saveRDS(key_papers, file = fn)
} else {
    key_papers <- readRDS(fn)
}
Show the code
#|

fn_kw <- file.path(".", "data", "tca_corpus", "key_works.rds")
fn_kw_df <- file.path(".", "data", "tca_corpus", "key_works_df.rds")
if (!all(file.exists(fn_kw, fn_kw_df))) {
    key_works <- parallel::mclapply(
        key_papers,
        function(kp) {
            dois <- kp[kp != ""] |>
                unlist() |>
                tolower() |>
                unique()

            openalexR::oa_fetch(doi = dois, output = "list")
        },
        mc.cores = params$mc.cores,
        mc.preschedule = FALSE
    )

    found <- sapply(
        key_works,
        function(x) {
            length(x) > 0
        }
    )

    key_works <- key_works[found]

    print("The following key paper sets were excluded as they contained no papers in OpenAlex:\n")
    print(names(found)[!found])

    saveRDS(key_works, file = fn_kw)

    key_works_df <- lapply(
        key_works,
        oa2df,
        entity = "works"
    )

    saveRDS(key_works_df, fn_kw_df)
} else {
    key_works <- readRDS(file = fn_kw)
    key_works_df <- readRDS(fn_kw_df)
}
Show the code
#|

fn <- file.path(".", "data", "tca_corpus", "key_works_hits.rds")
if (!file.exists(fn)) {
    kws <- key_works_df
    kws$all <- key_works_df |>
        bind_rows()

    nms <- names(kws)
    key_works_hits <- pbapply::pblapply(
        nms,
        function(nm) {
            message("Getting key paper set for ", nm, " ...")
            dois <- kws[[nm]] |>
                select(doi) |>
                distinct() |>
                unlist() |>
                unique() |>
                tolower()

            s_t <- grep("s_1_", names(params), value = TRUE)
            kw_h <- parallel::mclapply(
                s_t,
                function(stn) {
                    message("  getting '", stn, "' ...")
                    if (grepl("_f_", stn)) {
                        search <- compact(params[[stn]]())
                    } else {
                        search <- compact(params[[stn]])
                    }
                    get_count(dois = dois, list(title_and_abstract.search = search), verbose = FALSE)
                },
                mc.cores = params$mc.cores,
                mc.preschedule = FALSE
            ) |>
                do.call(what = cbind) |>
                as.data.frame()

            names(kw_h) <- s_t

            # if (ncol(kw_h) == 1){
            #     kw_h <- t(kw_h)
            #     rownames(kw_h) <- dois
            # }

            kw_h <- rbind(
                kw_h,
                colSums(kw_h)
            )

            rownames(kw_h)[[nrow(kw_h)]] <- "Total"
            return(kw_h)
        }
    )

    names(key_works_hits) <- nms

    for (i in nms) {
        # key_works_hits[[i]] <- cbind(
        #     key_works_hits[[i]],
        #     key_works_hits_tca_filtered[[i]]
        # )

        key_works_hits[[i]] <- cbind(
            key_works_hits[[i]],
            Total = rowSums(key_works_hits[[i]])
        ) |>
            mutate(Total = Total - 1) # |>
        # relocate(tca_corpus_SDG, .after = s_1_tca_corpus)
    }

    ###

    saveRDS(key_works_hits, file = fn)
} else {
    key_works_hits <- readRDS(file = fn)
}

Works over Time

Get works over time for different search terms

Show the code
#|

fn <- file.path(".", "data", "tca_corpus", "oa_count.rds")
if (!file.exists(fn)) {
    oa_count <- list(
        timestamp = Sys.time()
    )
    #
    oa_count$oa_years <- openalexR::oa_fetch(
        entity = "works",
        search = "",
        group_by = "publication_year",
        output = "dataframe",
        verbose = TRUE
    ) |>
        dplyr::mutate(
            publication_year = as.integer(as.character(key_display_name)),
            key = NULL,
            key_display_name = NULL,
            p = count / sum(count)
        ) |>
        dplyr::arrange(publication_year) |>
        dplyr::mutate(
            p_cum = cumsum(p)
        ) |>
        dplyr::select(
            publication_year,
            everything()
        )
    #
    oa_count$tca_nature <- openalexR::oa_fetch(
        title_and_abstract.search = compact(paste0("(", params$s_1_nature_environment, ")")),
        group_by = "publication_year",
        output = "dataframe",
        verbose = TRUE
    ) |>
        dplyr::mutate(
            publication_year = as.integer(as.character(key_display_name)),
            key = NULL,
            key_display_name = NULL,
            p = count / sum(count)
        ) |>
        dplyr::arrange(publication_year) |>
        dplyr::mutate(
            p_cum = cumsum(p)
        ) |>
        dplyr::select(
            publication_year,
            everything()
        )
    #
    oa_count$transformative_change_years <- openalexR::oa_fetch(
        title_and_abstract.search = compact(paste0("(", params$s_1_transformative_change, ")")),
        group_by = "publication_year",
        output = "dataframe",
        verbose = TRUE
    ) |>
        dplyr::mutate(
            publication_year = as.integer(as.character(key_display_name)),
            key = NULL,
            key_display_name = NULL,
            p = count / sum(count)
        ) |>
        dplyr::arrange(publication_year) |>
        dplyr::mutate(
            p_cum = cumsum(p)
        ) |>
        dplyr::select(
            publication_year,
            everything()
        )
    #
    oa_count$tca_years <- openalexR::oa_fetch(
        title_and_abstract.search = compact(paste0("(", params$s_1_nature_environment, ") AND (", params$s_1_transformative_change, ")")),
        group_by = "publication_year",
        output = "dataframe",
        verbose = TRUE
    ) |>
        dplyr::mutate(
            publication_year = as.integer(as.character(key_display_name)),
            key = NULL,
            key_display_name = NULL,
            p = count / sum(count)
        ) |>
        dplyr::arrange(publication_year) |>
        dplyr::mutate(
            p_cum = cumsum(p)
        ) |>
        dplyr::select(
            publication_year,
            everything()
        )
    #
    oa_count$case_years <- openalexR::oa_fetch(
        title_and_abstract.search = compact(paste0("(", params$s_1_case, ")")),
        group_by = "publication_year",
        output = "dataframe",
        verbose = TRUE
    ) |>
        dplyr::mutate(
            publication_year = as.integer(as.character(key_display_name)),
            key = NULL,
            key_display_name = NULL,
            p = count / sum(count)
        ) |>
        dplyr::arrange(publication_year) |>
        dplyr::mutate(
            p_cum = cumsum(p)
        ) |>
        dplyr::select(
            publication_year,
            everything()
        )
    #
    oa_count$tca_case_years <- openalexR::oa_fetch(
        title_and_abstract.search = compact(paste0("(", params$s_1_nature_environment, ") AND (", params$s_1_transformative_change, ") AND (", params$s_1_case, ")")),
        group_by = "publication_year",
        output = "dataframe",
        verbose = TRUE
    ) |>
        dplyr::mutate(
            publication_year = as.integer(as.character(key_display_name)),
            key = NULL,
            key_display_name = NULL,
            p = count / sum(count)
        ) |>
        dplyr::arrange(publication_year) |>
        dplyr::mutate(
            p_cum = cumsum(p)
        ) |>
        dplyr::select(
            publication_year,
            everything()
        )
    saveRDS(oa_count, file = fn)
}

Download TCA Corpus

The corpus download will be stored in data/pages and the arrow database in data/corpus.

This is not on github!

The corpus can be read by running get_corpus() which o[pens the database so that then it can be fed into a dplyr pipeline. After most dplyr functions, the actual data needs to be collected via collect().

Only then is the actual data read!

Needs to be enabled by setting eval: true in the code block below.

Show the code
#|

tic()

IPBES.R::corpus_download(
    pages_dir = params$pages_dir,
    title_and_abstract_search = compact(params$s_1_tca_corpus),
    continue = TRUE,
    delete_pages_dir = FALSE,
    set_size = 2000,
    dry_run = FALSE,
    verbose = TRUE,
    mc_cores = 6
)

toc()
Show the code
tic()

IPBES.R::corpus_pages_to_arrow(
    pages_dir = params$pages_dir,
    arrow_dir = params$corpus_dir,
    continue = TRUE,
    delete_arrow_dir = FALSE,
    dry_run = FALSE,
    verbose = TRUE,
    mc_cores = 2
)

toc()
Show the code
#|

years <- IPBES.R::corpus_read(params$corpus_dir) |>
    distinct(publication_year) |>
    collect() |>
    unlist() |>
    as.vector() |>
    sort()

lapply(
    years,
    function(y) {
        message("\nProcessing year: ", y)
        tic()
        dataset <- IPBES.R::corpus_read(params$corpus_dir) |>
            dplyr::filter(publication_year == y) |>
            dplyr::collect() |>
            group_by(id) |>
            slice_max(
                publication_year,
                n = 1,
                with_ties = FALSE,
                na_rm = TRUE
            )
        unlink(
            file.path(params$corpus_dir, paste0("publication_year=", y)),
            recursive = TRUE,
            force = TRUE
        )
        arrow::write_dataset(
            dataset = dataset,
            path = params$corpus_dir,
            partitioning = c("publication_year", "set"),
            format = "parquet",
            existing_data_behavior = "overwrite"
        )
        toc()
    }
)

Download TCA AND CASE Corpus

Show the code
#|

tic()

IPBES.R::corpus_download(
    pages_dir = params$pages_cases_dir,
    title_and_abstract_search = compact(paste(params$s_1_tca_corpus, " AND (", params$s_1_case, ")")),
    continue = TRUE,
    delete_pages_dir = FALSE,
    set_size = 2000,
    dry_run = TRUE,
    verbose = TRUE,
    mc_cores = 6
)

toc()
Show the code
tic()

IPBES.R::corpus_pages_to_arrow(
    pages_dir = params$pages_cases_dir,
    arrow_dir = params$corpus_cases_dir,
    continue = TRUE,
    delete_arrow_dir = FALSE,
    dry_run = FALSE,
    verbose = TRUE,
    mc_cores = 2
)

toc()
Show the code
#|

years <- IPBES.R::corpus_read(params$corpus_cases_dir) |>
    distinct(publication_year) |>
    collect() |>
    unlist() |>
    as.vector() |>
    sort()

lapply(
    years,
    function(y) {
        message("\nProcessing year: ", y)
        tic()
        dataset <- IPBES.R::corpus_read(params$corpus_cases_dir) |>
            dplyr::filter(publication_year == y) |>
            dplyr::collect() |>
            group_by(id) |>
            slice_max(
                publication_year,
                n = 1,
                with_ties = FALSE,
                na_rm = TRUE
            )
        unlink(
            file.path(params$corpus_cases_dir, paste0("publication_year=", y)),
            recursive = TRUE,
            force = TRUE
        )
        arrow::write_dataset(
            dataset = dataset,
            path = params$corpus_cases_dir,
            partitioning = c("publication_year", "set"),
            format = "parquet",
            existing_data_behavior = "overwrite"
        )
        toc()
    }
)

Prepare Full Text search of Title and Abstract

This is done using duckDB and the fts extension which is a full text search extension for duckDB (see also for details and for arrow / parquet support).

The following steps are conducted:

  1. Create new duckDB called tca_corpus.duckdb
    • import data needed
    • create fts index for full text search
Show the code
if (!file.exists(params$duckdb_fn)) {
    sql <- paste0(
        "CREATE TABLE tca_corpus AS SELECT id, author_abbr, publication_year, doi, display_name, ab FROM parquet_scan('",
        file.path(".", "data", "tca_corpus", "corpus", "**", "*.parquet"),
        "')"
    )

    con <- duckdb::dbConnect(duckdb::duckdb(), dbdir = params$duckdb_fn, read_only = FALSE)
    #
    dbExecute(con, "SET autoinstall_known_extensions=1")
    dbExecute(con, "SET autoload_known_extensions=1")
    dbExecute(con, sql)
    #
    duckdb::dbDisconnect(con, shutdown = TRUE)

    con <- duckdb::dbConnect(duckdb::duckdb(), dbdir = params$duckdb_fn, read_only = FALSE)
    #
    dbExecute(con, "INSTALL fts")
    dbExecute(con, "LOAD fts")

    input_table <- "tca_corpus"
    input_id <- "id"
    input_values <- "'display_name', 'ab'"

    sql <- paste0("PRAGMA create_fts_index(", input_table, ", ", input_id, ", ", input_values, ", overwrite=1);")

    dbExecute(con, sql)
    #
    duckdb::dbDisconnect(con, shutdown = TRUE)
}

# con <- dbConnect(duckdb::duckdb(params$duckdb_fn))

# SQL <- "SELECT * FROM tca_corpus WHERE display_name MATCH 'transformative';"
# dbListTables(con)

#     input_table <- "tca_corpus"
#     input_id <- "id"
#     input_values <- "'display_name', 'ab'"

#     query_string <- "'case study'"
#     fields <- "'display_name', 'ab'"

# sql <- paste0("SELECT fts_main_tca_corpus.match_bm25(", input_id, ", ", query_string, ", fields = ", fields, " FROM tca_corpus)"

# dbExecute(con, sql)

# duckdb::dbDisconnect(con, shutdown = TRUE)

Extract Data from Global Corpus

Export Random Works from TCA Cases Corpus

Show the code
#|

sample_size <- 250

fn <- file.path("data", "tca_corpus", paste0("random_", sample_size, "_tca_cases_corpus.xlsx"))
if (!file.exists(fn)) {
    set.seed(13)
    read_corpus(params$corpus_cases_dir) |>
        dplyr::select(
            id,
            doi,
            author = author_abbr,
            title = display_name,
            abstract = ab
        ) |>
        dplyr::slice_sample(
            n = sample_size
        ) |>
        dplyr::mutate(
            abstract = substr(abstract, 1, 5000)
        ) |>
        dplyr::collect() |>
        writexl::write_xlsx(path = fn)
}

Sectors

The Sectors definition is based on the subfields assigned to each work by OpenAlex. These were grouped by experts into sectors. See this Google Doc for details.

Show the code
#|

if (!dir.exists(params$corpus_topics_dir)) {
    con <- duckdb::dbConnect(duckdb::duckdb(), read_only = FALSE)

    corpus_read(params$corpus_dir) |>
        arrow::to_duckdb(table_name = "corpus", con = con) |>
        invisible()
    corpus_read(file.path("input", "tca_corpus", "sectors_def.parquet")) |>
        arrow::to_duckdb(table_name = "sectors", con = con) |>
        invisible()

    paste0(
        "CREATE VIEW corpus_unnest AS ",
        "SELECT  ",
        "corpus.id AS work_id,  ",
        "corpus.publication_year AS publication_year,  ",
        "UNNEST(topics).i AS i,  ",
        "UNNEST(topics).score AS score,  ",
        "UNNEST(topics).name AS name, ",
        "UNNEST(topics).id AS id,  ",
        "UNNEST(topics).display_name AS display_name  ",
        "FROM  ",
        "corpus "
    ) |>
        dbExecute(conn = con)

    select_sql <- paste0(
        "SELECT ",
        "corpus_unnest.*, ",
        "sectors.sector ",
        "FROM ",
        "corpus_unnest ",
        "LEFT JOIN ",
        "sectors ",
        "ON ",
        "corpus_unnest.id  == sectors.id "
    )

    dbGetQuery(con, paste(select_sql, "LIMIT 10"))

    sql <- paste0(
        "COPY ( ",
        select_sql,
        ") TO '", params$corpus_topics_dir, "' ",
        "(FORMAT PARQUET, COMPRESSION 'SNAPPY', PARTITION_BY 'publication_year')"
    )

    dbExecute(con, sql)

    duckdb::dbDisconnect(con, shutdown = TRUE)

    ###########################

    # years <- IPBES.R::corpus_read(params$corpus_dir) |>
    #     distinct(publication_year) |>
    #     collect() |>
    #     unlist() |>
    #     as.vector() |>
    #     sort()

    # sectors <- read.csv(file.path("input", "tca_corpus", "sectors_def.csv")) |>
    #     tibble::as_tibble() |>
    #     dplyr::mutate(
    #         id = paste0("https://openalex.org/subfields/", id),
    #         display_name = NULL
    #     )

    # pbmcapply::pbmclapply(
    #     years,
    #     function(y) {
    #         message("\nProcessing year: ", y)
    #         IPBES.R::corpus_read(params$corpus_dir) |>
    #             dplyr::filter(publication_year == y) |>
    #             dplyr::select(
    #                 id,
    #                 publication_year,
    #                 topics
    #             ) |>
    #             collect() |>
    #             IPBES.R::extract_topics(
    #                 names = "subfield"
    #             ) |>
    #             dplyr::left_join(
    #                 y = sectors,
    #                 by = "id"
    #             ) |>
    #             arrow::write_dataset(
    #                 path = params$corpus_topics_dir,
    #                 partitioning = c("publication_year"),
    #                 format = "parquet",
    #                 existing_data_behavior = "overwrite"
    #             )
    #     },
    #     mc.cores = 3,
    #     mc.preschedule = FALSE
    # )
}

Authors

Show the code
#|

if (!dir.exists(params$corpus_authors_dir)) {
    con <- duckdb::dbConnect(duckdb::duckdb(), read_only = FALSE)

    corpus_read(params$corpus_dir) |>
        arrow::to_duckdb(table_name = "corpus", con = con) |>
        invisible()

    paste0(
        "CREATE VIEW corpus_unnest AS ",
        "SELECT  ",
        "corpus.id AS work_id,  ",
        "corpus.publication_year AS publication_year,  ",
        "UNNEST(author).au_id AS au_id,  ",
        "UNNEST(author).au_display_name AS au_display_name, ",
        "UNNEST(author).au_orcid AS au_orcid,  ",
        "UNNEST(author).author_position AS author_position,  ",
        "UNNEST(author).is_corresponding AS is_corresponding,  ",
        "UNNEST(author).au_affiliation_raw AS au_affiliation_raw,  ",
        "UNNEST(author).institution_id AS institution_id,  ",
        "UNNEST(author).institution_display_name AS institution_display_name,  ",
        "UNNEST(author).institution_ror AS institution_ror,  ",
        "UNNEST(author).institution_country_code AS institution_country_code,  ",
        "UNNEST(author).institution_type AS institution_type,  ",
        "UNNEST(author).institution_lineage AS institution_lineage  ",
        "FROM  ",
        "corpus "
    ) |> dbExecute(conn = con)

    paste0(
        "COPY ( ",
        "SELECT * FROM corpus_unnest ",
        ") TO '", params$corpus_authors_dir, "' ",
        "(FORMAT PARQUET, COMPRESSION 'SNAPPY', PARTITION_BY 'publication_year')"
    ) |>
        dbExecute(conn = con)

    duckdb::dbDisconnect(con, shutdown = TRUE)
}

Primary Topics

Show the code
fn <- file.path(".", "data", "tca_corpus", paste0("prim_topics_tca_corpus.rds"))
if (!file.exists(fn)) {
    prim_topics_tca_corpus <- corpus_read(params$corpus_topics_dir) |>
        dplyr::filter(
            name == "topic",
            i == 1
        ) |>
        mutate(
            id = as.integer(sub("https://openalex.org/T", "", id))
        ) |>
        dplyr::group_by(id) |>
        summarize(
            count = n()
        ) |>
        dplyr::left_join(
            read.csv(file.path("input", "tca_corpus", "OpenAlex_topic_mapping_table - final_topic_field_subfield_table.csv")),
            by = c("id" = "topic_id")
        ) |>
        dplyr::arrange(desc(count)) |>
        collect()

    saveRDS(prim_topics_tca_corpus, file = fn)
} else {
    prim_topics_tca_corpus <- readRDS(fn)
}

Figures

Show the code
#|

fn <- file.path(".", "data", "tca_corpus", "publications_over_time_tca_corpus.rds")

if (!file.exists(fn)) {
    read_corpus(params$corpus_dir) |>
        dplyr::select(publication_year) |>
        dplyr::arrange(publication_year) |>
        dplyr::collect() |>
        table() |>
        as.data.frame() |>
        mutate(
            publication_year = as.integer(as.character(publication_year)),
            p = Freq / sum(Freq),
            p_cum = cumsum(p)
        ) |>
        rename(
            count = Freq
        ) |>
        dplyr::inner_join(
            y = openalexR::oa_fetch(
                search = "",
                group_by = "publication_year",
                output = "tibble",
                verbose = FALSE
            ) |>
                dplyr::select(
                    key,
                    count
                ) |>
                dplyr::rename(
                    publication_year = key,
                    count_oa = count
                ) |>
                dplyr::arrange(publication_year) |>
                dplyr::mutate(
                    publication_year = as.integer(as.character(publication_year)),
                    p_oa = count_oa / sum(count_oa),
                    p_oa_cum = cumsum(p_oa)
                )
        ) |>
        saveRDS(file = fn)
}
Show the code
#|

if (length(list.files(file.path("figures", "tca_corpus"), pattern = "publications_over_time")) < 2) {
    figure <- readRDS(file.path(".", "data", "tca_corpus", "publications_over_time_tca_corpus.rds")) |>
        dplyr::filter(publication_year >= 1900) |>
        ggplot() +
        geom_bar(aes(x = publication_year, y = p), stat = "identity") +
        geom_line(aes(x = publication_year, y = p_cum / 10), color = "red") +
        geom_line(aes(x = publication_year, y = p_oa_cum / 10), color = "blue") +
        scale_x_continuous(breaks = seq(1900, 2020, 10)) +
        scale_y_continuous(
            "Proportion of publications",
            sec.axis = sec_axis(~ . * 10, name = "Cumulative proportion") # divide by 100 to scale back the secondary axis
        ) +
        labs(
            title = "Publications over time",
            x = "Year",
            y = "Number of publications"
        ) +
        theme_minimal() +
        theme(axis.text.y.right = element_text(color = "red"))

    ggplot2::ggsave(
        file.path("figures", "tca_corpus", "publications_over_time.pdf"),
        width = 12,
        height = 6,
        figure
    )
    ggplot2::ggsave(
        file.path("figures", "tca_corpus", "publications_over_time.png"),
        width = 12,
        height = 6,
        figure
    )

    rm(figure)
}

Maps

Show the code
#|

fn <- file.path(".", "data", "tca_corpus", "countries_tca_corpus.rds")
if (!file.exists(fn)) {
    corpus <- corpus_read(params$corpus_authors_dir)

    data_first <- corpus |>
        dplyr::filter(
            author_position == "first"
        ) |>
        dplyr::select(
            work_id,
            institution_country_code,
        ) |>
        dplyr::group_by(
            work_id,
            institution_country_code
        ) |>
        dplyr::summarise(
            count_first = 1 / n(),
            .groups = "drop"
        ) |>
        dplyr::group_by(
            institution_country_code
        ) |>
        dplyr::summarise(
            count = sum(count_first),
            .groups = "drop"
        ) |>
        dplyr::mutate(
            position = "first"
        )

    data_all <- corpus |>
        dplyr::select(
            work_id,
        ) |>
        dplyr::group_by(
            work_id,
        ) |>
        dplyr::summarize(
            count = n()
        ) |>
        dplyr::right_join(
            y = corpus |>
                dplyr::select(
                    work_id,
                    institution_country_code
                ),
            by = "work_id"
        ) |>
        dplyr::group_by(
            institution_country_code
        ) |>
        dplyr::summarise(
            count = sum(count),
            .groups = "drop"
        ) |>
        dplyr::mutate(
            position = "all"
        )

    data_oa <- openalexR::oa_fetch(
        group_by = "authorships.countries",
        output = "tibble",
        verbose = FALSE
    ) |>
        dplyr::mutate(
            iso3c = countrycode::countrycode(
                key_display_name,
                origin = "country.name",
                destination = "iso3c"
            ),
            key_display_name = NULL,
            key = NULL,
            position = "oa"
        )

    data <- dplyr::add_row(
        collect(data_first),
        collect(data_all)
    ) |>
        dplyr::mutate(
            iso3c = countrycode::countrycode(
                institution_country_code,
                origin = "iso2c",
                destination = "iso3c"
            ),
            institution_country_code = NULL
        ) |>
        dplyr::add_row(
            data_oa
        ) |>
        saveRDS(file = fn)
    rm(data_first, data_all, data_oa)
}

Some check of the data

Show the code
#|

if (length(list.files(path = file.path("maps", "tca_corpus"), pattern = "publications_countries")) < 2) {
    data <- readRDS(file.path(".", "data", "tca_corpus", "countries_tca_corpus.rds")) |>
        dplyr::group_by(iso3c) |>
        dplyr::summarize(
            count_first = sum(count[position == "first"], na.rm = TRUE),
            count_all = sum(count[position == "all"], na.rm = TRUE),
            count_oa = sum(count[position == "oa"], na.rm = TRUE)
        ) |>
        dplyr::mutate(
            count_oa = ifelse(is.na(count_oa), 0, count_oa),
            log_count_oa = log(count_oa + 1),
            p_oa = count_oa / sum(count_oa),
            #
            count_first = ifelse(is.na(count_first), 0, count_first),
            log_count_first = log(count_first + 1),
            p_first = count_first / sum(count_first),
            p_first_output = count_first / count_oa,
            p_first_diff = (p_oa - p_first) * 100,
            #
            count_all = ifelse(is.na(count_all), 0, count_all),
            log_count_all = log(count_all + 1),
            p_all = count_all / sum(count_all),
            p_all_output = count_all / count_oa,
            p_all_diff = (p_oa - p_all) * 100,
        )

    # data |> mutate(
    #     count_first = count_first / max(count_first),
    #     count_all = count_all / max(count_all),
    #     count_oa = count_oa / max(count_oa)
    # ) |>
    # dplyr::arrange(desc(count_oa)) |>
    # ggplot(aes(x = iso3c)) +
    #     geom_line(aes(y = count_first, color = "Count First"), group = 1) +
    #     geom_line(aes(y = count_all, color = "Count All"), group = 1) +
    #     geom_line(aes(y = count_oa, color = "Count OA"), group = 1) +
    #     scale_color_manual(values = c("Count First" = "red", "Count All" = "blue", "Count OA" = "green")) +
    #     labs(x = "ISO3C", y = "Normalized Count") +
    #     theme_minimal()

    map <- patchwork::wrap_plots(
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of overall publications (count_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of TCA publications (count_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of TCA publications (count_all)"),
        ####
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of overall publications (log_count_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of TCA publications (log_count_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of TCA publications (log_count_all)"),
        ####
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("Overall research output (p_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("TCA research output (p_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("TCA research output (p_all)"),
        ####
        ggplot() +
            theme_void(),
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_first_diff",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", mid = "white", high = "#56B4E9", midpoint = 0) +
            ggplot2::ggtitle("difference (TCA - overall) output (p_oa - p_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_all_diff",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", mid = "white", high = "#56B4E9", midpoint = 0) +
            ggplot2::ggtitle("difference (TCA - overall) output (p_oa - p_all)"),
        ncol = 3
    )

    ggplot2::ggsave(
        file.path("maps", "tca_corpus", "publications_countries.pdf"),
        width = 12,
        height = 8,
        map
    )
    ggplot2::ggsave(
        file.path("maps", "tca_corpus", "publications_countries.png"),
        width = 12,
        height = 8,
        map
    )
}
Show the code
if (length(list.files(path = file.path("maps", "tca_corpus"), pattern = "publications_countries_before_2016")) < 2) {
    data <- readRDS(file.path(".", "data", "tca_corpus", "countries_tca_corpus.rds")) |>
        dplyr::filter(
            publication_year < 2016
        ) |>
        dplyr::group_by(iso3c) |>
        dplyr::summarize(
            count_first = sum(as.integer(count_first), na.rm = TRUE),
            count_all = sum(as.integer(count_all), na.rm = TRUE),
            count_oa = sum(as.integer(count_oa), na.rm = TRUE),
        ) |>
        dplyr::mutate(
            count_oa = ifelse(is.na(count_oa), 0, count_oa),
            log_count_oa = log(count_oa + 1),
            p_oa = count_oa / sum(count_oa),
            #
            count_first = ifelse(is.na(count_first), 0, count_first),
            log_count_first = log(count_first + 1),
            p_first = count_first / sum(count_first),
            p_first_output = count_first / count_oa,
            p_first_diff = (p_oa - p_first) * 100,
            #
            count_all = ifelse(is.na(count_all), 0, count_all),
            log_count_all = log(count_all + 1),
            p_all = count_all / sum(count_all),
            p_all_output = count_all / count_oa,
            p_all_diff = (p_oa - p_all) * 100,
        )

    map <- patchwork::wrap_plots(
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of overall publications (count_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of TCA publications (count_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of TCA publications (count_all)"),
        ####
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of overall publications (log_count_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of TCA publications (log_count_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of TCA publications (log_count_all)"),
        ####
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("Overall research output (p_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("TCA research output (p_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("TCA research output (p_all)"),
        ####
        ggplot() +
            theme_void(),
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_first_diff",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", mid = "white", high = "#56B4E9", midpoint = 0) +
            ggplot2::ggtitle("difference (TCA - overall) output (p_oa - p_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_all_diff",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", mid = "white", high = "#56B4E9", midpoint = 0) +
            ggplot2::ggtitle("difference (TCA - overall) output (p_oa - p_all)"),
        ncol = 3
    )

    ggplot2::ggsave(
        file.path("maps", "tca_corpus", "publications_countries_before_2016.pdf"),
        width = 12,
        height = 8,
        map
    )
    ggplot2::ggsave(
        file.path("maps", "tca_corpus", "publications_countries_before_2016.png"),
        width = 12,
        height = 8,
        map
    )
}
Show the code
if (length(list.files(path = file.path("maps", "tca_corpus"), pattern = "publications_countries_after_2019")) < 2) {
    data <- readRDS(file.path(".", "data", "tca_corpus", "countries_tca_corpus.rds")) |>
        dplyr::filter(
            publication_year > 2019
        ) |>
        dplyr::group_by(iso3c) |>
        dplyr::summarize(
            count_first = sum(as.integer(count_first), na.rm = TRUE),
            count_all = sum(as.integer(count_all), na.rm = TRUE),
            count_oa = sum(as.integer(count_oa), na.rm = TRUE),
        ) |>
        dplyr::mutate(
            count_oa = ifelse(is.na(count_oa), 0, count_oa),
            log_count_oa = log(count_oa + 1),
            p_oa = count_oa / sum(count_oa),
            #
            count_first = ifelse(is.na(count_first), 0, count_first),
            log_count_first = log(count_first + 1),
            p_first = count_first / sum(count_first),
            p_first_output = count_first / count_oa,
            p_first_diff = (p_oa - p_first) * 100,
            #
            count_all = ifelse(is.na(count_all), 0, count_all),
            log_count_all = log(count_all + 1),
            p_all = count_all / sum(count_all),
            p_all_output = count_all / count_oa,
            p_all_diff = (p_oa - p_all) * 100,
        )

    map <- patchwork::wrap_plots(
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of overall publications (count_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of TCA publications (count_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "count_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("count of TCA publications (count_all)"),
        ####
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of overall publications (log_count_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of TCA publications (log_count_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "log_count_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("log(count + 1) of TCA publications (log_count_all)"),
        ####
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_oa",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("Overall research output (p_oa)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_first",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("TCA research output (p_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_all",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", high = "#56B4E9") +
            ggplot2::ggtitle("TCA research output (p_all)"),
        ####
        ggplot() +
            theme_void(),
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_first_diff",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", mid = "white", high = "#56B4E9", midpoint = 0) +
            ggplot2::ggtitle("difference (TCA - overall) output (p_oa - p_first)"),
        #
        data |>
            IPBES.R::map_country_codes(
                map_type = "countries",
                values = "p_all_diff",
                geodata_path = params$gdm_dir
            ) +
            ggplot2::scale_fill_gradient2(low = "#E69F00", mid = "white", high = "#56B4E9", midpoint = 0) +
            ggplot2::ggtitle("difference (TCA - overall) output (p_oa - p_all)"),
        ncol = 3
    )

    ggplot2::ggsave(
        file.path("maps", "tca_corpus", "publications_countries_after_2019.pdf"),
        width = 12,
        height = 8,
        map
    )
    ggplot2::ggsave(
        file.path("maps", "tca_corpus", "publications_countries_after_2019.png"),
        width = 12,
        height = 8,
        map
    )
}

Topics and Sectors

Show the code
#|

fn <- file.path("data", "tca_corpus", "sectors_over_time.rds")
if (!file.exists(fn)) {
    data <- IPBES.R::corpus_read(params$corpus_topics_dir) |>
        dplyr::filter(
            name == "subfield"
        ) |>
        dplyr::group_by(
            publication_year,
            sector,
            i
        ) |>
        dplyr::summarize(
            count = n(),
            .groups = "drop"
        ) |>
        dplyr::rename(
            level = i
        ) |>
        dplyr::collect()

    data |>
        dplyr::filter(
            level == 1
        ) |>
        dplyr::group_by(
            publication_year,
            sector
        ) |>
        dplyr::summarize(
            count_1 = sum(count),
            .groups = "drop"
        ) |>
        dplyr::full_join(
            data |>
                dplyr::group_by(
                    publication_year,
                    sector
                ) |>
                dplyr::summarize(
                    count_all = sum(count)
                )
        ) |>
        dplyr::arrange(
            publication_year,
            sector
        ) |>
        dplyr::mutate(
            count_1 = ifelse(is.na(count_1), 0, count_1),
            count_all = ifelse(is.na(count_all), 0, count_all)
        ) |>
        dplyr::group_by(sector) |>
        dplyr::mutate(
            cumsum_count_1 = cumsum(count_1),
            cumsum_count_all = cumsum(count_all),
            p_cumsum_count_1 = cumsum_count_1 / max(cumsum_count_1),
            p_cumsum_count_all = cumsum_count_all / max(cumsum_count_all)
        ) |>
        saveRDS(fn)
    rm(data)
}
Show the code
#|

if (length(list.files(file.path("figures", "tca_corpus"), pattern = "sectors_over_time")) < 2) {
    figure_1 <- readRDS(file.path(file.path("data", "tca_corpus", "sectors_over_time.rds"))) |>
        dplyr::filter(
            publication_year >= 1950
        ) |>
        ggplot() +
        geom_line(
            aes(
                x = publication_year,
                y = cumsum_count_1,
                color = sector,
                lty = sector
            )
        ) +
        scale_x_continuous(breaks = seq(1900, 2020, 10)) +
        scale_y_continuous(
            "Log(No Publications)",
            trans = "log10"
            # sec.axis = sec_axis(~ . * 10, name = "Cumulative proportion") # divide by 100 to scale back the secondary axis
        ) +
        labs(
            title = "Publications classified into Sectors over time (primary sector only)",
            x = "Year"
            # y = "Number of publications"
        ) +
        theme_minimal() +
        theme(
            legend.position = "bottom",
            # axis.text.y.right = element_text(color = "red")
        )

    figure_all <- readRDS(file.path(file.path("data", "tca_corpus", "sectors_over_time.rds"))) |>
        dplyr::filter(
            publication_year >= 1950
        ) |>
        ggplot() +
        geom_line(
            aes(
                x = publication_year,
                y = cumsum_count_all,
                color = sector,
                lty = sector
            )
        ) +
        scale_x_continuous(breaks = seq(1900, 2020, 10)) +
        scale_y_continuous(
            "Log(No Publications)",
            trans = "log10"
            # sec.axis = sec_axis(~ . * 10, name = "Cumulative proportion") # divide by 100 to scale back the secondary axis
        ) +
        labs(
            title = "Publications clssified into Sectors over time (up to three sectors)",
            x = "Year"
            # y = "Number of publications"
        ) +
        theme_minimal() +
        theme(
            legend.position = "none",
            # axis.text.y.right = element_text(color = "red")
        )

    figure <- patchwork::wrap_plots(
        figure_1,
        figure_all,
        nrow = 2
    )

    ggplot2::ggsave(
        file.path("figures", "tca_corpus", "sectors_over_time.pdf"),
        width = 12,
        height = 12,
        figure
    )
    ggplot2::ggsave(
        file.path("figures", "tca_corpus", "sectors_over_time.png"),
        width = 12,
        height = 12,
        figure
    )

    rm(figure_1, figure_all, figure)
}
Show the code
#|

if (length(list.files(file.path("figures", "tca_corpus"), pattern = "sectors_proportions_over_time")) < 2) {
    figure <- readRDS(file.path(file.path("data", "tca_corpus", "sectors_over_time.rds"))) |>
        dplyr::filter(
            publication_year >= 1950
        ) |>
        group_by(publication_year) |>
        mutate(count_all = count_all / sum(count_all)) |>
        ggplot() +
        geom_col(
            aes(
                x = publication_year,
                y = count_all,
                fill = sector
            ),
            position = "stack"
        ) +
        scale_x_continuous(breaks = seq(1900, 2020, 10)) +
        scale_y_continuous(
            "Proportion of Publications" # ,
            #    limits = c(0, 1.0001)
        ) +
        labs(
            title = "Publications clssified into Sectors over time. Each publication has up to three sectors assigned.",
            x = "Year",
            y = "Proportion"
        ) +
        theme_minimal() +
        theme(
            legend.position = "right"
        )

    ggplot2::ggsave(
        file.path("figures", "tca_corpus", "sectors_proportions_over_time.pdf"),
        width = 12,
        height = 12,
        figure
    )
    ggplot2::ggsave(
        file.path("figures", "tca_corpus", "sectors_proportions_over_time.png"),
        width = 12,
        height = 12,
        figure
    )

    rm(figure)
}

Results

Assessment of Search Terms Using OpenAlex

Number of Hits per Individual Corpus

Here we show the number of hits for the key papers in the different individual corpi. The columns represent the different search terms as defined in Section 2.2.

Show the code
dat <- cbind(
    search_term_hits
)

rownames(dat) <- dplyr::recode(
    rownames(dat),
    "transformative change" = "Transformative Change @sec-transform",
    "nature environment" = "Nature @sec-nature",
    "tca corpus" = "Assessment Corpus @sec-tca-corpus",
    "Chapter 1 01" = "Ch1 01 @sec-ch1-01",
    "Chapter 1 02" = "Ch1 02 @sec-ch1-02",
    "Chapter 1 03" = "Ch1 03 @sec-ch1-03",
    "Chapter 1 04" = "Ch1 04 @sec-ch1-04",
    "Chapter 1 05" = "Ch1 05 @sec-ch1-05",
    "Chapter 1 06" = "Ch1 06 @sec-ch1-06",
    "Chapter 2" = "Ch2  @sec-ch2",
    "Chapter 3 01" = "Ch3 01 @sec-ch3-01",
    "Chapter 3 02" = "Ch3 02 @sec-ch3-02",
    "Chapter 3 03" = "Ch3 03 @sec-ch3-03",
    "Chapter 3 04" = "Ch3 04 @sec-ch3-04",
    "Chapter 3 05" = "Ch3 05 @sec-ch3-05",
    "Chapter 3 06" = "Ch3 06 @sec-ch3-06",
    "Chapter 4 01" = "Ch4 01 @sec-ch4-01",
    "Chapter 4 02" = "Ch4 02 @sec-ch4-02",
    "Chapter 5 vision" = "Ch5 Vision @sec-ch5_vision",
    "Chapter 5 vision case" = "Ch5 Vision Case @sec-ch5_vision_case",
    "case" = "Ch5 Case @sec-case"
)

dat |>
    knitr::kable(
        caption = "Number of hits",
    )
Number of hits
count db_response_time_ms
oa 250,860,978 19
Transformative Change Section 2.2.1 18,637,717 3518
Nature Section 2.2.2 24,620,063 2915
Assessment Corpus Section 2.2.3 4,627,113 3726
Ch1 01 Section 2.2.4.1 627,674 194
Ch1 02 Section 2.2.4.2 3,234,873 275
Ch1 03 Section 2.2.4.3 16,164,129 439
Ch1 04 Section 2.2.4.4 2,513,933 377
Ch1 05 Section 2.2.4.5 25,981,255 801
Ch1 06 Section 2.2.4.6 6,511,922 615
Ch2 Section 2.2.5 109,798,896 5903
Ch3 01 Section 2.2.6.1 15,997,190 843
Ch3 02 Section 2.2.6.2 33,631,053 2038
Ch3 03 Section 2.2.6.3 28,870,432 1030
Ch3 04 Section 2.2.6.4 10,802,743 878
Ch3 05 Section 2.2.6.5 13,193,556 1048
Ch3 06 Section 2.2.6.6 20,866,069 1435
Ch4 01 Section 2.2.7.1 884,733 1427
Ch4 02 Section 2.2.7.2 21 1372
Ch5 Case Section 2.2.8.2 34,863,543 2024
Chapter 2 vision case 27,720,686 5417
Show the code
rm(dat)

Key papers in different Individual Corpi

Show the code
#|

tbl <- lapply(
    names(key_works_hits),
    function(n) {
        kwh <- key_works_hits[[n]]
        if (nrow(kwh) > 0) {
            total <- grepl("Total", rownames(kwh))
            rownames(kwh)[!total] <- paste0(n, " - <a href='https://doi.org/", rownames(kwh)[!total], "' target='_blank'>Click here</a>")
            rownames(kwh)[total] <- paste0("**", n, " - Total**")
            kwh |>
                arrange(Total) |>
                apply(
                    c(1, 2),
                    function(x) {
                        ifelse(x == 0, "<font color='red'>0</font>", paste0("<font color='green'>", x, "</font>"))
                    }
                ) |>
                as.data.frame()
        } else {
            return(NULL)
        }
    }
)
tbl <- tbl[sapply(tbl, class) != "NULL"]
tbl <- do.call(what = rbind, tbl)


detail <- rbind(
    "**overall**" = c(
        paste0(
            "**",
            search_term_hits |>
                select(count) |>
                unlist() |>
                as.vector(),
            "**"
        ),
        ""
    ),
    tbl
)
Warning in rbind(deparse.level, ...): number of columns of result, 21, is not a
multiple of vector length 22 of arg 1
Show the code
detail <- detail |>
    dplyr::rename(
        "Transformative Change @sec-transform" = s_1_transformative_change,
        "Nature @sec-nature" = s_1_nature_environment,
        "Assessment Corpus @sec-tca-corpus" = s_1_tca_corpus,
        "Ch1 01 @sec-ch1-01" = s_1_ch1_01,
        "Ch1 02 @sec-ch1-02" = s_1_ch1_02,
        "Ch1 03 @sec-ch1-03" = s_1_ch1_03,
        "Ch1 04 @sec-ch1-04" = s_1_ch1_04,
        "Ch1 05 @sec-ch1-05" = s_1_ch1_05,
        "Ch1 06 @sec-ch1-06" = s_1_ch1_06,
        "Ch2  @sec-ch2" = s_1_ch2,
        "Ch3 01 @sec-ch3-01" = s_1_ch3_01,
        "Ch3 02 @sec-ch3-02" = s_1_ch3_02,
        "Ch3 03 @sec-ch3-03" = s_1_ch3_03,
        "Ch3 04 @sec-ch3-04" = s_1_ch3_04,
        "Ch3 05 @sec-ch3-05" = s_1_ch3_05,
        "Ch3 06 @sec-ch3-06" = s_1_ch3_06,
        "Ch4 01 @sec-ch4-01" = s_1_ch4_01,
        "Ch4 02 @sec-ch4-02" = s_1_ch4_02,
        # "Ch5 Vision @sec-ch5_vision" = s_1_ch5_vision,
        "Ch5 Case @sec-case" = s_1_case,
        # "Ch5 Vision Case @sec-ch5_vision_case" = s_1_ch5_vision_case
    )

Key Papers in Individual Corpi

Summary

Each column is a different search term, and each row consists of the key papers of a specific chapter and the author who provided the key papers. The number is the number of key papers occurring in the Individual Corpus.

Show the code
in_summary <- grepl("Total|overall", rownames(detail))
knitr::kable(
    detail[in_summary, ]
)
s_1_oa Transformative Change Section 2.2.1 Nature Section 2.2.2 Assessment Corpus Section 2.2.3 Ch1 01 Section 2.2.4.1 Ch1 02 Section 2.2.4.2 Ch1 03 Section 2.2.4.3 Ch1 04 Section 2.2.4.4 Ch1 05 Section 2.2.4.5 Ch1 06 Section 2.2.4.6 Ch2 Section 2.2.5 Ch3 01 Section 2.2.6.1 Ch3 02 Section 2.2.6.2 Ch3 03 Section 2.2.6.3 Ch3 04 Section 2.2.6.4 Ch3 05 Section 2.2.6.5 Ch3 06 Section 2.2.6.6 Ch4 01 Section 2.2.7.1 Ch4 02 Section 2.2.7.2 Ch5 Case Section 2.2.8.2 Total
overall 250,860,978 18,637,717 24,620,063 4,627,113 627,674 3,234,873 16,164,129 2,513,933 25,981,255 6,511,922 109,798,896 15,997,190 33,631,053 28,870,432 10,802,743 13,193,556 20,866,069 884,733 21 34,863,543 27,720,686
Ch_1 - Total 42 40 41 39 19 28 35 30 31 30 41 30 33 33 22 33 35 28 0 35 624
Ch_2 - Total 22 20 22 20 9 17 18 12 17 18 22 20 19 19 15 21 21 16 0 18 345
Ch_3_Cl_3 - Total 4 4 4 4 3 3 4 3 4 4 4 4 4 4 4 4 4 3 0 4 71
Ch_3_Cl_4 - Total 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 4 0 5 92
Ch_3_Cl_5 - Total 3 2 3 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 0 2 37
Ch_3_Cl_6 - Total 6 6 5 5 1 1 2 3 1 3 5 2 4 5 1 1 5 2 0 3 60
Ch_3 - Total 4 4 4 4 2 1 2 2 3 3 4 3 4 3 1 2 3 2 0 4 54
Ch_4_Cl_1 - Total 7 4 7 4 1 4 5 5 3 5 7 4 4 4 4 6 7 4 0 4 88
Ch_4_Cl_2 - Total 4 3 3 3 2 2 3 1 2 2 3 2 3 3 1 3 3 2 0 2 46
Ch_4_Cl_3 - Total 5 5 5 5 2 2 4 2 3 3 4 3 4 4 3 3 4 2 0 4 66
Ch_4_Cl_4 - Total 4 2 4 2 1 1 3 1 1 2 4 2 1 2 2 2 4 1 0 3 41
Ch_4_Cl_5 - Total 5 3 4 3 1 2 4 2 4 2 5 5 4 4 3 3 5 3 0 4 65
Ch_5 - Total 35 33 33 31 20 23 27 27 26 25 35 29 30 33 26 28 30 20 0 27 537
all - Total 134 120 128 116 60 82 105 87 93 95 130 102 106 110 82 104 118 81 0 104 1956

Detail

Show the code
knitr::kable(
    detail
)
s_1_oa Transformative Change Section 2.2.1 Nature Section 2.2.2 Assessment Corpus Section 2.2.3 Ch1 01 Section 2.2.4.1 Ch1 02 Section 2.2.4.2 Ch1 03 Section 2.2.4.3 Ch1 04 Section 2.2.4.4 Ch1 05 Section 2.2.4.5 Ch1 06 Section 2.2.4.6 Ch2 Section 2.2.5 Ch3 01 Section 2.2.6.1 Ch3 02 Section 2.2.6.2 Ch3 03 Section 2.2.6.3 Ch3 04 Section 2.2.6.4 Ch3 05 Section 2.2.6.5 Ch3 06 Section 2.2.6.6 Ch4 01 Section 2.2.7.1 Ch4 02 Section 2.2.7.2 Ch5 Case Section 2.2.8.2 Total
overall 250,860,978 18,637,717 24,620,063 4,627,113 627,674 3,234,873 16,164,129 2,513,933 25,981,255 6,511,922 109,798,896 15,997,190 33,631,053 28,870,432 10,802,743 13,193,556 20,866,069 884,733 21 34,863,543 27,720,686
Ch_1 - Click here 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 3
Ch_1 - Click here 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 3
Ch_1 - Click here 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 4
Ch_1 - Click here 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 5
Ch_1 - Click here 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 6
Ch_1 - Click here 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 7
Ch_1 - Click here 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 7
Ch_1 - Click here 1 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 8
Ch_1 - Click here 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 8
Ch_1 - Click here 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 9
Ch_1 - Click here 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 10
Ch_1 - Click here 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 11
Ch_1 - Click here 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 11
Ch_1 - Click here 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 14
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 15
Ch_1 - Click here 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 15
Ch_1 - Click here 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 15
Ch_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 15
Ch_1 - Click here 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 16
Ch_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
Ch_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
Ch_1 - Click here 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 16
Ch_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 16
Ch_1 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
Ch_1 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_1 - Total 42 40 41 39 19 28 35 30 31 30 41 30 33 33 22 33 35 28 0 35 624
Ch_2 - Click here 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 4
Ch_2 - Click here 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 8
Ch_2 - Click here 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 9
Ch_2 - Click here 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 10
Ch_2 - Click here 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 12
Ch_2 - Click here 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 14
Ch_2 - Click here 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 14
Ch_2 - Click here 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 15
Ch_2 - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 15
Ch_2 - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 15
Ch_2 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
Ch_2 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_2 - Click here 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 17
Ch_2 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_2 - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
Ch_2 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_2 - Total 22 20 22 20 9 17 18 12 17 18 22 20 19 19 15 21 21 16 0 18 345
Ch_3_Cl_3 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
Ch_3_Cl_3 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_3_Cl_3 - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_3_Cl_3 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_3_Cl_3 - Total 4 4 4 4 3 3 4 3 4 4 4 4 4 4 4 4 4 3 0 4 71
Ch_3_Cl_4 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
Ch_3_Cl_4 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_3_Cl_4 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_3_Cl_4 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_3_Cl_4 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_3_Cl_4 - Total 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5 4 0 5 92
Ch_3_Cl_5 - Click here 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Ch_3_Cl_5 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_3_Cl_5 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_3_Cl_5 - Total 3 2 3 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 0 2 37
Ch_3_Cl_6 - Click here 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 5
Ch_3_Cl_6 - Click here 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 6
Ch_3_Cl_6 - Click here 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 7
Ch_3_Cl_6 - Click here 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 8
Ch_3_Cl_6 - Click here 1 1 1 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 11
Ch_3_Cl_6 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_3_Cl_6 - Total 6 6 5 5 1 1 2 3 1 3 5 2 4 5 1 1 5 2 0 3 60
Ch_3 - Click here 1 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 8
Ch_3 - Click here 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 9
Ch_3 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_3 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
Ch_3 - Total 4 4 4 4 2 1 2 2 3 3 4 3 4 3 1 2 3 2 0 4 54
Ch_4_Cl_1 - Click here 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 4
Ch_4_Cl_1 - Click here 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 4
Ch_4_Cl_1 - Click here 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 6
Ch_4_Cl_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_4_Cl_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_4_Cl_1 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_4_Cl_1 - Click here 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 17
Ch_4_Cl_1 - Total 7 4 7 4 1 4 5 5 3 5 7 4 4 4 4 6 7 4 0 4 88
Ch_4_Cl_2 - Click here 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Ch_4_Cl_2 - Click here 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 9
Ch_4_Cl_2 - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 16
Ch_4_Cl_2 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_4_Cl_2 - Total 4 3 3 3 2 2 3 1 2 2 3 2 3 3 1 3 3 2 0 2 46
Ch_4_Cl_3 - Click here 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 5
Ch_4_Cl_3 - Click here 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 7
Ch_4_Cl_3 - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 15
Ch_4_Cl_3 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_4_Cl_3 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_4_Cl_3 - Total 5 5 5 5 2 2 4 2 3 3 4 3 4 4 3 3 4 2 0 4 66
Ch_4_Cl_4 - Click here 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 5
Ch_4_Cl_4 - Click here 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 8
Ch_4_Cl_4 - Click here 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 9
Ch_4_Cl_4 - Click here 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 16
Ch_4_Cl_4 - Total 4 2 4 2 1 1 3 1 1 2 4 2 1 2 2 2 4 1 0 3 41
Ch_4_Cl_5 - Click here 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 6
Ch_4_Cl_5 - Click here 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 7
Ch_4_Cl_5 - Click here 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 16
Ch_4_Cl_5 - Click here 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 16
Ch_4_Cl_5 - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 16
Ch_4_Cl_5 - Total 5 3 4 3 1 2 4 2 4 2 5 5 4 4 3 3 5 3 0 4 65
Ch_5 - Click here 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2
Ch_5 - Click here 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 4
Ch_5 - Click here 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 7
Ch_5 - Click here 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 8
Ch_5 - Click here 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 8
Ch_5 - Click here 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 8
Ch_5 - Click here 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 9
Ch_5 - Click here 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 10
Ch_5 - Click here 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 11
Ch_5 - Click here 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 11
Ch_5 - Click here 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 12
Ch_5 - Click here 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 14
Ch_5 - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 14
Ch_5 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
Ch_5 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
Ch_5 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 17
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 17
Ch_5 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_5 - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_5 - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
Ch_5 - Total 35 33 33 31 20 23 27 27 26 25 35 29 30 33 26 28 30 20 0 27 537
all - Click here 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
all - Click here 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
all - Click here 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2
all - Click here 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 3
all - Click here 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 3
all - Click here 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 4
all - Click here 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 4
all - Click here 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 4
all - Click here 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 4
all - Click here 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 4
all - Click here 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 5
all - Click here 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 5
all - Click here 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 5
all - Click here 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 6
all - Click here 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 6
all - Click here 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 6
all - Click here 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 6
all - Click here 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 7
all - Click here 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 7
all - Click here 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 7
all - Click here 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 7
all - Click here 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 7
all - Click here 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 7
all - Click here 1 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 8
all - Click here 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 8
all - Click here 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 8
all - Click here 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 8
all - Click here 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 8
all - Click here 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 8
all - Click here 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 8
all - Click here 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 9
all - Click here 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 9
all - Click here 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 9
all - Click here 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 9
all - Click here 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 9
all - Click here 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 10
all - Click here 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 10
all - Click here 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 10
all - Click here 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 11
all - Click here 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 11
all - Click here 1 1 1 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 11
all - Click here 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 11
all - Click here 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 11
all - Click here 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 12
all - Click here 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 12
all - Click here 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 14
all - Click here 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 14
all - Click here 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 14
all - Click here 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 14
all - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 14
all - Click here 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 15
all - Click here 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 15
all - Click here 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 15
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 15
all - Click here 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 15
all - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 15
all - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 15
all - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 15
all - Click here 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 16
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
all - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 16
all - Click here 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 16
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 16
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 17
all - Click here 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 17
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Click here 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 18
all - Total 134 120 128 116 60 82 105 87 93 95 130 102 106 110 82 104 118 81 0 104 1956

TCA Corpus properties

Publications over time

The red line is the cumulative proportion of publications, the blue line the cumulative proportion of all of the Op[enAlex corpus. Both use the secondeary (red) axis.

To download high resolution, click here

Show the code
readRDS(file.path(".", "data", "tca_corpus", "publications_over_time_tca_corpus.rds")) |>
    IPBES.R::table_dt(fn = "publications_over_time")

Countries in TCA Corpus

The countries are based on the countries of the institutes of all authors, weighted by 1/no_ authors_per_paper.

The following calculations were done:

  • **count** =ifelse(is.na(count), 0, count)`
  • **log_count** =log(count + 1)`
  • **p** =count / sum(count)`
  • **count_oa** =ifelse(is.na(count_oa), 0, count)`
  • **log_count_oa** =log(count_oa + 1)`
  • **p_oa** =count_oa / sum(count_oa)`
  • **p_diff** =(p_oa - p) * 100`
  • **p_ratio** =count / count_oa`
Show the code
readRDS(file.path(".", "data", "tca_corpus", "countries_tca_corpus.rds")) |>
    IPBES.R::table_dt(fn = "publications_per_country")

All Years

To download high resolution, click here

Sectors over time

For clarity, the log of the cumulative sum of the sectors over time are shown here.

The top graph shows only the primary sector assigned, the bottom graph all sectors (first, secondary and tertiary)

To download high resolution, click here

The graph shows the proportion of the different sectors over time

To download high resolution, click here

Show the code
readRDS(file.path(".", "data", "tca_corpus", "sectors_over_time.rds")) |>
    IPBES.R::table_dt(
        fn = "sectors_over_time",
        fixedColumns = list(leftColumns = 3)
    )

Topics in corpus

Show the code
#|

cs <- cumsum(prim_topics_tca_corpus$count)
cs |>
    plot(
        type = "l",
        xlab = "Topic",
        ylab = "Cumulative Count",
        main = "Cumulative Topics in TCA Corpus"
    )

abline(
    h = 0.95 * cs[length(cs)],
    v = min(which(cs > 0.95 * cs[length(cs)])),
    col = "red"
)

text(
    x = 0.5 * length(cs),
    y = 0.95 * cs[length(cs)],
    pos = 3,
    labels = "95% of the corpus",
    col = "red"
)

Show the code
#|

prim_topics_tca_corpus |>
    relocate(count, .after = "id") |>
    IPBES.R::table_dt(
        fn = "topics_tca_corpus",
    )
Warning in instance$preRenderHook(instance): It seems your data is too big for
client-side DataTables. You may consider server-side processing:
https://rstudio.github.io/DT/server.html

SubFields in Corpus

Show the code
#|
cs <- prim_topics_tca_corpus |>
    mutate(
        id = NULL,
        topic_name = NULL,
        keywords = NULL,
        summary = NULL,
        wikipedia_url = NULL
    ) |>
    group_by(
        subfield_id,
    ) |>
    summarise(
        count = sum(count)
    ) |>
    arrange(desc(count)) |>
    dplyr::select(count) |>
    unlist() |>
    cumsum()
cs |>
    plot(
        type = "l",
        xlab = "Subfield",
        ylab = "Cumulative Count",
        main = "Cumulative Subfields in TCA Corpus"
    )

abline(
    h = 0.95 * cs[length(cs)],
    v = min(which(cs > 0.95 * cs[length(cs)])),
    col = "red"
)

text(
    x = 0.5 * length(cs),
    y = 0.95 * cs[length(cs)],
    pos = 3,
    labels = "95% of the corpus",
    col = "red"
)

Show the code
#|

prim_topics_tca_corpus |>
    mutate(
        topic_id = NULL,
        topic_name = NULL,
        keywords = NULL,
        summary = NULL,
        wikipedia_url = NULL
    ) |>
    group_by(
        subfield_id,
        subfield_name,
        field_id,
        field_name,
        domain_id,
        domain_name
    ) |>
    summarise(
        count = sum(count),
        .groups = "drop"
    ) |>
    arrange(desc(count)) |>
    relocate(count, .after = "subfield_id") |>
    DT::datatable(
        extensions = c(
            "Buttons",
            "FixedColumns",
            "Scroller"
        ),
        options = list(
            dom = "Bfrtip",
            buttons = list(
                list(
                    extend = "csv",
                    filename = fn
                ),
                list(
                    extend = "excel",
                    filename = fn
                ),
                list(
                    extend = "pdf",
                    filename = fn,
                    orientation = "landscape",
                    customize = DT::JS(
                        "function(doc) {",
                        "  doc.defaultStyle.fontSize = 5;", # Change the font size
                        "}"
                    )
                ),
                "print"
            ),
            scroller = TRUE,
            scrollY = JS("window.innerHeight * 0.7 + 'px'"),
            scrollX = TRUE,
            fixedColumns = list(leftColumns = 4)
        ),
        escape = FALSE
    )

==== APPENDIX ====

Assesment of Sectors / Contcepts search terms

The file strategies_options.txt contains the terms for the different strategies and options.

I will now iterate through all of them and identify the number of hits per individual search term. This can be used as a result in itself in interpreting the importance of each term as well as to shorten the search term to be able to use it together with the TCA search term.

Methods

Show the code
#|
if (!file.exists(file.path("data", "tca_corpus", "strategies_options.rds"))) {
    # Read the lines from the file
    sts <- readLines("input/tca_corpus/search terms/strategies_options.txt")

    # Remove empty or NA lines or Main header ("# ")
    sts <- sts[!is.na(sts) & nchar(sts) > 0]
    sts <- grep("^# ", sts, invert = TRUE, value = TRUE)

    # Create a vector that indicates where each new first-level element should start
    split_points_level1 <- cumsum(grepl("^## \\(", sts))

    # Split the vector into a list
    list_sts_level1 <- split(sts, split_points_level1)

    # For each first-level element, split into second-level elements
    list_sts_level2 <- lapply(list_sts_level1, function(x) {
        split_points_level2 <- cumsum(grepl("^###", x))
        split(x, split_points_level2)
    })

    # Remove the lines with "## (" and "###" from each element of the list
    sts_split <- lapply(
        list_sts_level2,
        function(x) {
            lapply(
                x,
                function(y) {
                    res <- y[!grepl("^## \\(|^###", y)]
                    if (length(res) == 0) {
                        res <- NULL
                    }
                    return(res)
                }
            )
        }
    )

    sts_split <- lapply(
        sts_split,
        function(sts) {
            i <- sapply(
                sts,
                length
            ) > 0
            return(sts[i])
        }
    )

    # Extract the names for the first-level list
    names_level1 <- gsub("^## \\(|\\)$", "", sts[grepl("^## \\(", sts)])

    # Extract the names for the second-level lists
    names_level2 <- lapply(list_sts_level1, function(x) gsub("^### |\\)$", "", x[grepl("^###", x)]))
    names(names_level2) <- names_level1

    # Assign the names to the first-level list
    names(sts_split) <- names_level1

    sts_split <- Map(setNames, sts_split, names_level2)

    result <- lapply(
        sts_split,
        function(sts) {
            lapply(
                sts,
                function(st) {
                    result <- list()
                    result$term <- paste(st, collapse = " ")
                    result$count <- NA
                    result$years <- NA
                    result$assess_search_terms <- NA
                    try(
                        {
                            result$count <- openalexR::oa_fetch(
                                title_and_abstract.search = IPBES.R::compact(paste0("(", params$s_1_tca_corpus, ") AND (", result$term, ")")),
                                count_only = TRUE,
                                output = "list",
                                verbose = TRUE
                            )$count
                            result$years <- openalexR::oa_fetch(
                                title_and_abstract.search = IPBES.R::compact(paste0("(", params$s_1_tca_corpus, ") AND (", result$term, ")")),
                                group_by = "publication_year",
                                output = "dataframe",
                                verbose = TRUE
                            )
                        },
                        silent = TRUE
                    )

                    result$assess_search_terms <- assess_search_term(
                        st = st,
                        remove = " OR$",
                        excl_others = FALSE,
                        mc.cores = 8
                    ) |>
                        dplyr::arrange(desc(count))

                    return(result)
                }
            )
        }
    )

    saveRDS(result, file.path("data", "tca_corpus", "strategies_options.rds"))
}

Results

Count of Concepts

Show the code
#|

result <- readRDS(file.path("data", "tca_corpus", "strategies_options.rds"))

lapply(
    names(result),
    function(str) {
        lapply(
            names(result[[str]]),
            function(con) {
                return(
                    data.frame(
                        Strategy = str,
                        Concept = con,
                        Count = result[[str]][[con]]$count
                    )
                )
            }
        ) |>
            do.call(what = rbind)
    }
) |>
    do.call(what = rbind) |>
    IPBES.R::table_dt(
        fn = "strategies_options_counts",
        fixedColumns = list(leftColumns = 2)
    )

Assesment of individual terms

These numbers are the number of hits of TCA Corpus AND each individual term of the Concept

Show the code
lapply(
    names(result),
    function(str) {
        # cat("\n\n### ", str, "\n")
        lapply(
            names(result[[str]]),
            function(con) {
                # cat("\n#### ", con, "\n")
                result[[str]][[con]]$assess_search_terms |>
                    knitr::kable(
                        caption = paste0(str, " -- ", con)
                    )
            }
        )
    }
)

[[1]] [[1]][[1]]

1) Conserve restore and regenerate places of value to nature and people. – Conservation and restoration options
term count
Restoration 486507
MPA 340506
“Protected area” 60293
“Marine protected area” 11794
“Remedial action” 10704
“Forest conservation” 8069
“Ecosystem restoration” 6853
“Co-management” 6371
“Co-management” 6371
“Habitat restoration” 4256
“Marine reserve” 3959
“Marine park” 3132
“sacred site” 2473
ICCA 2452
Rewilding 1767
“Landscape restoration” 1702
“Community-based management” 1619
“sacred grove” 1420
“Ecosystem-based approach” 1190
OECM 278
“Community protocol” 268
“Biocultural conservation” 189
“Other Effective area-based Conservation Measure” 158
“Transboundary protected area” 151
“Land sovereignty” 92
“Tribal park” 42
“Community-led conservation” 41
“Convivial conservation” 39
“Indigenous and Community Conserved Area” 38
“High sea conservation” 27
“High seas conservation” 27
“Indigenous-led conservation” 27
“Other effective Conservation Measure” 13
“Ecosystem-based adaptation and disaster risk reduction” 6
“Indigenous co-governance” 1

[[1]][[2]]

1) Conserve restore and regenerate places of value to nature and people. – Conservation finance
term count
“Public-private partnership” 35875
“Tourism revenue” 1545
“Conservation funding” 660
“Environmental finance” 347
“Debt-for-nature swap” 213
“Conservation finance” 182
“Biodiversity finance” 72
“Ecological finance” 33
“Conservation trust fund” 26
“Nature finance” 26
“Conservation philanthropy” 15
“Direct funding to community” 6
“Public funding for conservation” 6
“Resource user fee” 0
“Simplified funding application” 0

[[1]][[3]]

1) Conserve restore and regenerate places of value to nature and people. – Conservation regulation
term count
“Environmental Law” 24711
“Environmental Impact Assessment” 19511
“Legal pluralism” 4662
“Official development assistance” 4182
“Land Use Regulation” 2719
“Zoning Regulation” 1069
“Habitat Conservation Plan” 395
“Waste Management Regulation” 350
“Environmental public interest litigation” 217
“National biodiversity strategy and action plan” 152
“Seasonal restriction” 111
NBSAP 105
“Resource Management Law” 94
“Invasive Species Regulation” 40
“Logging regulation” 36
“Agri-Environmental and Climate Measure” 9
“Wild species protection” 8
“Limit on resource extraction” 1
“Environmental defender protection” 0
“Large-scale land acquisition regulation” 0
“Limit on habitat destruction” 0
“Natural resource use restriction” 0
“Public Participation and Access to Information Law” 0

[[1]][[4]]

1) Conserve restore and regenerate places of value to nature and people. – Management
term count
Management 7158614
“Sustainable use” 28127
“Coastal management” 6988
“Integrated coastal zone management” 1676
“Ocean governance” 1371
“Transboundary water management” 413
“Marine governance” 384
“Coastal governance” 323
“Integrated landscape management” 181
“Sustainable wildlife management” 92
“Invasive alien species management” 49
“Marine and coastal governance” 15
“Coastal waters management” 13
“Landscape governance network” 0
“Land and marine resource management” 0
“Shared and integrated ocean governance” 0

[[1]][[5]]

1) Conserve restore and regenerate places of value to nature and people. – Monitoring
term count
Monitoring 3756637
“remote sensing” 297840
“environmental impact assessment” 19511
“citizen science” 16020
“forest monitoring” 2138
“ocean monitoring” 1107
“species monitoring” 1083
“marine monitoring” 1054
“coastal monitoring” 1014
“fish monitoring” 625
“marine mammal monitoring” 145
“plankton monitoring” 98
“open ocean monitoring” 11
“citizen science observation programme” 0

[[1]][[6]]

1) Conserve restore and regenerate places of value to nature and people. – Spatial planning
term count
“Spatial planning” 24713
“Land-use planning” 23464
“Environmental Impact assessment” 19511
“Master Plan” 18703
“Buffer zone” 10929
“Infrastructure Planning” 5416
“Strategic Environmental Assessment” 2941
“Marine spatial planning” 2392
“Zoning Regulation” 1069
“Maritime spatial planning” 586
“Land Use Permit” 176
“Participatory Planning Approach” 132
“Multi-functional landscape” 108
“Development Control Regulation” 63
“GIS and Spatial Analysis Tool” 26
“Cross-Boundary Coordination Mechanism” 0

[[1]][[7]]

1) Conserve restore and regenerate places of value to nature and people. – Right-based approaches
term count
“Human right” 21686
“Intellectual property right” 2674
“right to water” 2016
“Access and benefit sharing” 1256
“community rights” 1025
“Free prior and informed consent” 586
FPIC 553
UNDRIP 456
“Right of nature” 318
“communal rights” 274
“International Labour Organization Convention” 91
“Universal Declaration of Human Right” 50
“International Human Right Treaty” 20
“International Covenant on Civil and Political Right” 17
“Indigenous and local language” 9
“International Covenant on Economic Social and Cultural Right” 5
“United Nations Declaration on the Right of Indigenous Peoples” 5
“IPLC ownership” 0
0

[[2]] [[2]][[1]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Certification and standards
term count
Standards 5514662
Labeling 1520217
Guidelines 1278564
Certification 270444
“ISO Standards” 8797
“Organic Certification” 1186
“green branding” 978
“LEED Certification” 691
Ecolabeling 252
“Fair Trade Certification” 180
“UTZ Certified” 99
“B-Corp Certification” 75
“Forest Stewardship Council Certification” 57
“Marine Stewardship Council Certification” 47
“Rainforest Alliance Certification” 39
“Non-GMO Project Verification” 10
“Aquaculture stewardship council certification” 0

[[2]][[2]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Community-driven initiatives
term count
“Local reuse 12418
“Farmers’ Market” 4652
“Community Garden” 3471
fix-up initiative” 953
“Bottom-up initiative” 916
“Urban gardening” 803
“Community goal” 765
“Local action group” 687
“Beach cleanup” 103
“Citizen-led initiative” 82
“Transition Town Movement” 67
“Community-based Renewable Energy Project” 22
“Zero Waste Community” 19
“Community-Led Conservation Initiative” 9
“Local Food Cooperative” 5
“Community-Led Sustainable Transportation Initiative” 0
“Local Currency and Exchange System” 0
“Neighborhood Repair and Reuse Program” 0
“Street and Neighborhood Cleanup Campaign” 0

[[2]][[3]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Green infrastructure
term count
“Public transport” 50683
“Constructed wetland” 16539
“Green infrastructure” 9837
Biofilter 8823
“Urban park” 8271
“Urban forest” 8018
“Green roof” 7302
“Water infrastructure” 5901
“Energy efficient building” 4941
“Sustainable infrastructure” 2755
“Riparian buffer” 2456
“green logistics” 1936
“Permeable pavement” 1785
“Green wall” 1609
“Rain garden” 1239
“Ecological restoration project” 1030
“Green street” 580
“Sustainable drainage system” 576
“Floodplain restoration” 375
“Living shoreline” 336
Bioswale 335
“Vegetated swale” 192
“Access to urban service” 110
“Multi-purpose structure” 44
“Urban agriculture space” 29
“Blue-green corridor” 10
“Articulated density in city” 0
“Food storage and delivery system” 0

[[2]][[4]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Green technology
term count
“Wind turbine” 115933
Biofuel 82811
Biomimetic 63089
microgrid 53042
“Solar panel” 27106
“Geothermal energy” 16466
“Smart meter” 14674
“Hybrid vehicle” 10316
“local currency” 3995
“Solar photovoltaic system” 3619
“Climate-smart agriculture” 2995
“Green building material” 920
“Fuel-efficient vehicle” 665
Minigrid 435
“Biomass energy production” 359
“Coordinated transport” 253
“energy sharing platform” 11
“Coordinated heating” 6
“Replacement fertilizer” 6
“Small renewable energy technology” 1
“Coordinated electrification” 0
“High Carbon Stock landscape” 0
“Microbial plant bio-fertilizer” 0
“Microbial plant bio-stimulant” 0
“Microbial plant regulator” 0
“Microbial plant biocide” 0

[[2]][[5]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Market-based mechanisms
term count
“Corporate Social Responsibility” 79700
“Environmental Tax” 4142
“carbon credit” 3869
“income transfer” 2509
“Socially responsible investment” 2353
“Reducing Emission from Deforestation and Forest Degradation” 1891
“Derivative trading” 1100
“Cap and Trade System” 1069
“Tradable permit” 1016
“Subsidy Reform” 1015
“Biodiversity offset” 753
“Trade ban” 457
“Compensation for environmental damage” 182
“Commodity future” 176
“cap and share” 78
“Mitigation for environmental damage” 78
“Ecological fiscal transfer” 51
“Restoration for environmental damage” 20
“Reform environmental-harmful subsidy” 11
“Market-based financing mechanism” 9
“Biodiversity compensation policy” 7
“True cost pricing” 5
“Commodity chain regulation” 3
“Biodiversity bond” 0
“cross-compliance incentive” 0
“Environmental-positive subsidy” 0
“Eco-entrepreneurship Support” 0

[[2]][[6]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Market regulation
term count
“Compliance” 562294
Enforcement 485906
“Corporate social responsibility” 79700
Quota 59901
“public procurement” 15624
“Regulatory measure” 6188
“Licensing and Permitting” 4742
“Pollution Control Measure” 1357
“Limit on pollution” 429
“Sustainable public procurement” 394
“Wildlife trade regulation” 33
“Regulation of Resource Extraction” 6
“Cap resource consumption” 1
“converson off-budget subsidies” 0
“Food market transparency” 0
“Legislative control over pesticide use” 0
“sanction to biodiversity damage” 0
“Unsustainable use of biodiversity sanction” 0

[[2]][[7]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Sustainable production
term count
Compost 79975
Agroforestry 24385
“Crop rotation” 23511
“Sustainable production” 18970
“Organic agriculture” 9885
“fair trade” 9877
“Sustainable design” 9412
“Conservation tillage” 6468
“Crop diversification” 3766
“Climate-smart agriculture” 2995
“Sustainable fishing” 815
“Regenerative agriculture” 631
“Reduced impact logging” 577
“Biological agriculture” 526
“Carbon farming” 509
“Swidden agriculture” 479
“Responsible production” 473
“Sustainable agricultural intensification” 422
“Sustainable fishing practice” 154
“Regenerative farming” 108
“Best practice in production” 72
“Holistic planned grazing” 24
Agroecolog” 5

[[3]] [[3]][[1]]

3) Transform economic systems to address power inequities and extractivist activities – Alternative business models
term count
“Open Source” 210539
“Fair Trade” 9877
“Collaborative Consumption” 1236
“Cradle-to-Cradle” 1219
“Community-supported Agriculture” 1184
“Benefit Corporation” 916
“Alternative business model” 507
“B-Corp” 281
“B-Corporation” 265
“Platform Cooperative” 146
“Subscription-based Model” 118
“Employee-owned Business” 48

[[3]][[2]]

3) Transform economic systems to address power inequities and extractivist activities – Alternative economic models
term count
Commoning 5681237
“Circular economy” 39230
“Sharing economy” 10158
Bioeconomy 7691
Degrowth 2341
“circular bioeconomy” 1682
“Caring economics” 915
“Ecosystem accounting” 511
“Steady state economy” 331
“Natural capital accounting” 317
“Mainstreaming biodiversity” 210
“Alternative economic model” 177
“downscale production” 10
“Ecosystem services provisioning scheme” 0

[[3]][[3]]

3) Transform economic systems to address power inequities and extractivist activities – Environmental governance
term count
“Food sovereignty” 3838
“Guidelines for Securing Sustainable Small-Scale Fisheries” 94
“Guidelines on the Responsible Governance of Tenure of Land Fisheries and Forests” 43
“Land and water stewardship” 7

[[3]][[4]]

3) Transform economic systems to address power inequities and extractivist activities – Supply chain governance and transparency
term count
Standard 5514663
Labeling 1520217
Certification 270444
Guideline 246662
“ISO Standard” 8797
“Third-party auditing” 491
“Third-party verification” 416
“Public procurement policy” 340
“Mandatory reporting requirement” 193
“Whistleblower protection law” 64
“Consumer demand for transparency” 9
“Collaborative supply chain initiative” 8
“Corporate disclosure mandate” 2
“relocalize economy” 2
“Supplier code of conduct requirement” 1
“Blockchain technology for supply chain tracking” 0
“Multi-stakeholder partnership for transparency” 0
“Supply chain traceability regulation” 0
“Traffic light nutrient labeling” 0

[[3]][[5]]

3) Transform economic systems to address power inequities and extractivist activities – Sustainable consumption
term count
reuse 490100
recycle 425733
“Sustainable consumption” 7511
“reduce consumption” 7473
“plant-based diet” 4246
“shared ownership” 3616
“Responsible consumption” 2105
“green consumption” 1991
“Collaborative Consumption” 1236
“Tax on consumption” 943
“Food waste reduction” 860
“Dietary transition” 674
“Normative feedback” 508
“Behavioral nudge” 298
“shared consumption” 285
“Localized food system” 81
“frugal consumption” 26
“Sustainable sourcing practice” 20
“Fee on consumption” 14
“low-impact diet” 5
“Campaign on consumer good” 0
“ban on planned obsolescence” 0
“Overbuying discouragement” 0
“relocalize consumption” 0

[[3]][[6]]

3) Transform economic systems to address power inequities and extractivist activities – Sustainability and well-being measures
term count
“Human Development Index” 12570
“Ecological Footprint” 9557
“Living Standards Survey” 1603
“Gross National Happiness” 779
“World Happiness Report” 252
“Genuine Progress Indicator” 234
“Social Progress Index” 225
“Happy Planet Index” 177
“Index of Sustainable Economic Welfare” 147
“Inclusive Wealth Index” 37
“wellbeing budget” 32
“Doughnut planning” 1

[[4]] [[4]][[1]]

4) Transform governance systems to be inclusive accountable and adaptive. – Anti-corruption measures
term count
“Convention against Corruption” 821
“Address corruption” 478
“measures against corruption” 94
“Whistleblower protection law” 64
“Disempowering corruption” 0
“Disempowering elitism” 0
“Disempowering lobbyism” 0
“Dismantle vested interests” 0

[[4]][[2]]

4) Transform governance systems to be inclusive accountable and adaptive. – Customary governance
term count
“Customary law” 11386
“Indigenous education” 2429
“Community cooperation” 928
“Customary institution” 710
“Customary norm” 667
“Customary tenure” 501
“Resource stewardship” 423
“Indigenous and local knowledge” 383
“Indigenous jurisdiction” 118
“Intergenerational knowledge transmission” 25
“IPLC governance” 1
“Customary access right” 0
“IPLC led code of conduct” 0
“IPLC livelihood and economy” 0

[[4]][[3]]

4) Transform governance systems to be inclusive accountable and adaptive. – Engagement and participation
term count
Participation 1124731
“Co-Design” 26965
“Co-Creation” 23215
“Stakeholder engagement” 13099
“Community-Based Participatory Research” 6990
“Community-based natural resource management” 971
“Community-based monitoring” 578
“Citizen Science Initiative” 571
“Multi-stakeholder platform” 331
“Public participation in environmental impact assessment” 161
“Online Platform and Social Media” 86
“Global action network” 38
“Capacity Building and Training Program” 27
“Deliberative Democracy Process” 20
“Community Meeting and Workshop” 14
“Participatory Mapping and GIS” 14
“Public Consultation and Hearing” 8
“Participatory evaluation and learning” 7
“Participation in international process” 6
“Legal and Policy Framework for Participation” 2
“Participatory approach to restoration” 1
“Indigenous and local community participation in decision-making” 0

[[4]][[4]]

4) Transform governance systems to be inclusive accountable and adaptive. – Governance and democratic processes
term count
“Policy monitoring” 1023
“Conflict resolution mechanism” 998
“Capacity building initiative” 951
“Citizen assembly” 595
“Adaptive management framework” 384
“Local governance structure” 273
“Open government initiative” 270
“Participatory decision-making process” 232
“Deep democracy” 231
“Access to information law” 186
“Transparency and accountability mechanism” 55
“Policy co-design” 24
“Bottom-up governance approach” 17
“Policy co-creation” 17
“Gender-responsive governance” 12
“Deliberative democracy mechanism” 8
“Gender inclusive governance” 8
“Accountable evaluation and learning” 0
“Culturally appropriate governance model” 0

[[4]][[5]]

4) Transform governance systems to be inclusive accountable and adaptive. – International agreements
term count
CITES 2817932
CMS 81609
“Sustainable Development Goal” 65648
SDG 47842
“International agreement” 23236
“Paris Agreement” 12850
“Kyoto Protocol” 11287
“United Nations Framework Convention on Climate Change” 5021
“Convention on Biological Diversity” 4911
“Agenda 21” 4346
“Bilateral agreement” 4222
“Montreal Protocol” 2967
“MARPOL” 1628
“Stockholm Convention” 1578
“Multilateral environmental agreement” 1175
“Global trade system” 1115
“Ramsar Convention” 1106
“Nagoya Protocol” 1099
“Convention on International Trade in Endangered Species of Wild Fauna and Flora” 929
“Basel Convention” 720
“Minamata Convention” 707
“Rio Declaration” 695
“Cartagena Protocol” 648
“EU Green Deal” 387
“International Treaty on Plant Genetic Resources for Food and Agriculture” 381
“United Nations Convention to Combat Desertification” 363
“International Convention for the Prevention of Pollution from Ships” 346
“Aichi Biodiversity Target” 330
“Rotterdam Convention” 170
“Convention on Migratory Species” 117
“BBNJ Agreement” 107
“Shipping agreement” 34
“High Seas Treaty” 25
“Global deal for nature” 18
“Freshwater treaty” 17
“Agreement under the United Nations Convention on the Law of the Sea on the Conservation and Sustainable Use of Marine Biological Diversity of Areas beyond National Jurisdiction” 11
“Genetic resource agreement” 0

[[4]][[6]]

4) Transform governance systems to be inclusive accountable and adaptive. – Legislative reforms
term count
“Institutional reform” 13126
“Judicial independence” 4317
“Anti-discrimination law” 2158
“Institutional entrepreneurship” 1259
“Freedom of information law” 404
“Ombudsman institution” 332
“Decentralization law” 181
“Equitable access to justice” 28
“Public participation law” 16
“Legal empowerment of marginalized group” 1
“Environmental justice mechanism” 0
“Institutional setting reform” 0

[[5]] [[5]][[1]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Behavioral change
term count
“Behavioral change” 85330
“Social norm” 42554
Nudging 21076
“Consumption reduction” 5735
“Peer-to-peer communication” 1581
“Choice architecture” 1416
“Food waste reduction” 860
“Dietary transition” 674
“Normative feedback” 508
“Behavioral nudge” 298
“Campaign on consumer goods” 2
“Overbuying discouragement” 0

[[5]][[2]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Capacity building
term count
“Capacity building” 50499
“Awareness campaign” 12678
“Capacity development” 7150
“Practical learning” 3514
“Cultural revitalization” 622
“Cultural exchange program” 210
“Inner capacity” 142
“Inner development goal” 9
“Indigenous Peoples’ rights training and capacity building” 0
“Leadership and capacity for action” 0

[[5]][[3]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Cultural change
term count
“Education program” 143356
“Social media platform” 36586
“Artistic expression” 9594
“Cultural transformation” 7760
“Cultural event” 6707
“Cultural narrative” 3324
“Mass media campaign” 1887
“Community dialogue” 743
“Regenerative culture” 213
“Youth empowerment program” 105
“Civic engagement initiative” 69
“Storytelling initiative” 55

[[5]][[4]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Education
term count
Curriculum 616817
Imagination 172136
“K-12” 48788
“Environmental education” 28727
“Experiential learning” 28157
“Social learning” 27057
“Solution space” 18227
“Adult learning” 12400
“Transformative learning” 7873
“Transformational learning” 1724
“Experiential teaching” 908
“Transformation lab” 45
“Imagination infrastructure” 2

[[5]][[5]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Holistic approaches to sustainability
term count
“Community health” 85724
“One health” 16669
“Cultural pluralism” 3428
“Alternative vision” 3273
“Planetary health” 3026
“Harmony with nature” 2531
“Holistic management” 2074
“Water-energy-food nexus” 1363
“Rights of nature” 1304
“Indigenous worldview” 833
Ecohealth 639
“Respect for cultural diversity” 296
“Holistic worldview” 286
“Living in balance” 188
“Unitive education” 187
“Eco-centrism” 120
“Unitive vision” 47
“Unitive narrative” 30
“Interconnectedness of all life forms” 9
“Natural social contract” 9
“Recognition of the intrinsic value of biodiversity” 1
“Localism and decentralization of governance” 0
“Recognition of indigenous wisdom and knowledge” 0

[[5]][[6]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Network and collaboration
term count
Facilitator 2313586
Connector 660839
“Social network” 279475
Multiplier 274352
Intermediary 98316
“Learning network” 18760
“Change agent” 11920
“Knowledge network” 7590
“Community network” 6219
“Policy network” 6169
“Technology network” 3911
“Collaborative initiative” 2578
“Advocacy network” 1582
“Boundary spanner” 1467
“Partnership network” 762
“Boundary organization” 474
“Multi-stakeholder platform” 331
“Innovation broker” 133
“Respectful partnership” 126
“Transition intermediary” 47
“Middle actor” 42
“Indigenous peoples’ network” 5
“New collaborative setting” 2

[[5]][[7]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Knowledge co-creation
term count
“Local knowledge” 17732
“Indigenous knowledge” 16922
“Knowledge system” 16010
“Knowledge co-production” 777
“Knowledge co-creation” 512
“Co-creation of knowledge” 484
“Indigenous and local knowledge” 383
“Art-science collaboration” 207
“Collaborative knowledge production” 169
“Participatory research and development” 100
“Weaving knowledge” 72
“Breeding knowledge” 67
“Collaborative research and learning” 42
“Multiple evidence-based approach” 22
“Collective knowledge generation” 19
“Jointly constructed knowledge” 12
“Joint knowledge development” 10
“Participatory knowledge creation” 8
“Knowledge co-design” 7
“Co-creative inquiry” 5

[[5]][[8]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Psychological change
term count
Oneness 20011215
Connection 1441130
“Paradigm shift” 73063
Mindset 55890
“Support group” 30265
“Belief system” 16999
“Developmental psychology” 11354
Epiphany 7865
“Personal meaning” 4679
“Personal transformation” 2058
Biophilia 1454
“Identity shift” 974
“Inner transformation” 385
“Transformative learning spaces” 66

[[5]][[9]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Spiritual and cultural practices
term count
Presence 5931575
Connectedness 1166901
Ritual 182022
Wisdom 161367
Festival 115070
Spirituality 84991
Mindfulness 80008
Ceremony 60735
HNC 12190
Psychedelic 7859
“Environmental stewardship” 4158
“Cultural preservation” 2479
“Connection to nature” 2376
“Interfaith dialogue” 1794
“Plant medicine” 1099
“Spiritual connection” 990
“Community solidarity” 871
“Cultural revitalization” 622
“Prayer and meditation” 466
“Community bond” 293
“Human-nature connection” 128
“Human-nature connection” 128
“Sacred teaching” 98
“Human-nature relation” 60
“Interfaith collaboration” 44
“Ethical framework and value” 13
“Continuity with ancestors” 10

[[5]][[10]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Values for sustainability
term count
Values 11359693
Justice 672408
Integrity 594205
Equity 382415
Resilience 318255
Transparency 272206
relationality 255973
Adaptability 239504
Empathy 121914
Thriving 106053
Interdependence 83638
Reciprocity 60564
Compassion 55942
Sufficiency 55243
Stewardship 54866
“Systems thinking” 16697
Holism 14717
“Good life” 13187
“Precautionary principle” 6715
“Respect for Diversity” 1612
“Balanced relationship” 1040
“relational values” 988
“Caring for nature” 953

Counts over Years for each TCA Corpus AND Concept

Show the code
lapply(
    names(result),
    function(str) {
        # cat("\n\n### ", str, "\n")
        lapply(
            names(result[[str]]),
            function(con) {
                # cat("\n#### ", con, "\n")
                result[[str]][[con]]$years |>
                    knitr::kable(
                        caption = paste0(str, " -- ", con)
                    )
            }
        )
    }
)

[[1]] [[1]][[1]]

1) Conserve restore and regenerate places of value to nature and people. – Conservation and restoration options
x
NA

[[1]][[2]]

1) Conserve restore and regenerate places of value to nature and people. – Conservation finance
key key_display_name count
1939 1939 1
1962 1962 2
1967 1967 1
1969 1969 1
1970 1970 1
1971 1971 1
1972 1972 1
1974 1974 1
1975 1975 2
1978 1978 2
1979 1979 3
1980 1980 1
1982 1982 2
1984 1984 2
1985 1985 4
1986 1986 3
1987 1987 5
1988 1988 2
1989 1989 9
1990 1990 6
1991 1991 5
1992 1992 7
1993 1993 6
1994 1994 13
1995 1995 8
1996 1996 9
1997 1997 10
1998 1998 9
1999 1999 10
2000 2000 36
2001 2001 26
2002 2002 27
2003 2003 50
2004 2004 53
2005 2005 61
2006 2006 76
2007 2007 90
2008 2008 106
2009 2009 90
2010 2010 116
2011 2011 156
2012 2012 175
2013 2013 175
2014 2014 237
2015 2015 218
2016 2016 219
2017 2017 240
2018 2018 241
2019 2019 301
2020 2020 342
2021 2021 327
2022 2022 352
2023 2023 343
2024 2024 71

[[1]][[3]]

1) Conserve restore and regenerate places of value to nature and people. – Conservation regulation
x
NA

[[1]][[4]]

1) Conserve restore and regenerate places of value to nature and people. – Management
key key_display_name count
1770 1770 1
1777 1777 1
1780 1780 1
1790 1790 1
1817 1817 1
1819 1819 2
1824 1824 1
1826 1826 1
1827 1827 1
1828 1828 2
1829 1829 1
1830 1830 1
1832 1832 1
1836 1836 1
1837 1837 1
1841 1841 1
1845 1845 1
1846 1846 1
1848 1848 1
1849 1849 3
1852 1852 1
1853 1853 1
1854 1854 1
1856 1856 3
1858 1858 3
1859 1859 3
1861 1861 2
1862 1862 2
1863 1863 3
1864 1864 2
1865 1865 2
1866 1866 2
1868 1868 2
1870 1870 2
1871 1871 2
1872 1872 1
1875 1875 1
1876 1876 3
1877 1877 1
1879 1879 3
1880 1880 3
1881 1881 1
1882 1882 3
1883 1883 1
1884 1884 1
1885 1885 1
1886 1886 3
1887 1887 1
1888 1888 1
1889 1889 1
1890 1890 3
1892 1892 1
1893 1893 2
1894 1894 2
1896 1896 3
1897 1897 4
1898 1898 2
1899 1899 16
1900 1900 1
1901 1901 4
1902 1902 10
1903 1903 5
1904 1904 9
1905 1905 5
1906 1906 7
1907 1907 1
1908 1908 3
1909 1909 2
1910 1910 4
1911 1911 7
1912 1912 4
1913 1913 5
1914 1914 1
1915 1915 4
1916 1916 5
1917 1917 4
1918 1918 8
1919 1919 3
1920 1920 3
1921 1921 6
1922 1922 7
1923 1923 4
1924 1924 4
1925 1925 8
1926 1926 3
1927 1927 3
1928 1928 8
1929 1929 9
1930 1930 3
1931 1931 8
1932 1932 6
1933 1933 8
1934 1934 12
1935 1935 15
1936 1936 14
1937 1937 14
1938 1938 20
1939 1939 13
1940 1940 19
1941 1941 16
1942 1942 12
1943 1943 13
1944 1944 11
1945 1945 7
1946 1946 14
1947 1947 21
1948 1948 34
1949 1949 27
1950 1950 33
1951 1951 44
1952 1952 47
1953 1953 45
1954 1954 60
1955 1955 54
1956 1956 45
1957 1957 50
1958 1958 58
1959 1959 70
1960 1960 60
1961 1961 76
1962 1962 92
1963 1963 72
1964 1964 98
1965 1965 108
1966 1966 129
1967 1967 161
1968 1968 132
1969 1969 164
1970 1970 302
1971 1971 174
1972 1972 222
1973 1973 246
1974 1974 242
1975 1975 272
1976 1976 328
1977 1977 351
1978 1978 444
1979 1979 447
1980 1980 477
1981 1981 563
1982 1982 595
1983 1983 660
1984 1984 666
1985 1985 792
1986 1986 750
1987 1987 899
1988 1988 952
1989 1989 1097
1990 1990 1364
1991 1991 1524
1992 1992 1709
1993 1993 2015
1994 1994 2287
1995 1995 2670
1996 1996 2997
1997 1997 3446
1998 1998 3666
1999 1999 4145
2000 2000 5253
2001 2001 5683
2002 2002 7100
2003 2003 7409
2004 2004 8249
2005 2005 9536
2006 2006 10847
2007 2007 11319
2008 2008 12655
2009 2009 14273
2010 2010 16504
2011 2011 18333
2012 2012 19698
2013 2013 21879
2014 2014 23242
2015 2015 24505
2016 2016 24158
2017 2017 25074
2018 2018 27861
2019 2019 30841
2020 2020 37387
2021 2021 41974
2022 2022 40826
2023 2023 44859
2024 2024 14318
2025 2025 1

[[1]][[5]]

1) Conserve restore and regenerate places of value to nature and people. – Monitoring
key key_display_name count
1835 1835 1
1836 1836 1
1837 1837 1
1839 1839 1
1840 1840 1
1842 1842 1
1848 1848 1
1851 1851 1
1855 1855 2
1857 1857 2
1858 1858 1
1859 1859 3
1866 1866 1
1869 1869 1
1870 1870 1
1873 1873 2
1877 1877 1
1879 1879 2
1889 1889 1
1894 1894 1
1896 1896 3
1897 1897 4
1898 1898 4
1899 1899 2
1900 1900 2
1901 1901 1
1902 1902 3
1903 1903 1
1904 1904 1
1905 1905 2
1906 1906 2
1908 1908 1
1909 1909 1
1910 1910 2
1911 1911 4
1912 1912 2
1913 1913 1
1915 1915 2
1916 1916 2
1917 1917 1
1918 1918 1
1919 1919 1
1920 1920 3
1921 1921 1
1922 1922 2
1924 1924 1
1925 1925 6
1927 1927 3
1928 1928 2
1929 1929 1
1930 1930 1
1931 1931 5
1932 1932 2
1935 1935 3
1936 1936 2
1937 1937 5
1938 1938 3
1939 1939 6
1940 1940 9
1941 1941 4
1942 1942 4
1943 1943 4
1944 1944 3
1945 1945 3
1946 1946 3
1947 1947 6
1948 1948 7
1949 1949 4
1950 1950 8
1951 1951 8
1952 1952 12
1953 1953 16
1954 1954 20
1955 1955 20
1956 1956 10
1957 1957 5
1958 1958 9
1959 1959 20
1960 1960 18
1961 1961 26
1962 1962 33
1963 1963 28
1964 1964 36
1965 1965 33
1966 1966 69
1967 1967 74
1968 1968 75
1969 1969 65
1970 1970 170
1971 1971 119
1972 1972 151
1973 1973 189
1974 1974 168
1975 1975 180
1976 1976 222
1977 1977 281
1978 1978 300
1979 1979 340
1980 1980 347
1981 1981 394
1982 1982 387
1983 1983 440
1984 1984 492
1985 1985 551
1986 1986 618
1987 1987 652
1988 1988 721
1989 1989 787
1990 1990 922
1991 1991 1027
1992 1992 1136
1993 1993 1261
1994 1994 1477
1995 1995 1879
1996 1996 1980
1997 1997 2718
1998 1998 3089
1999 1999 3487
2000 2000 3980
2001 2001 4494
2002 2002 5053
2003 2003 5595
2004 2004 6098
2005 2005 6710
2006 2006 7352
2007 2007 7607
2008 2008 8034
2009 2009 8750
2010 2010 9821
2011 2011 10818
2012 2012 11369
2013 2013 12498
2014 2014 13550
2015 2015 14386
2016 2016 14943
2017 2017 15020
2018 2018 17254
2019 2019 18833
2020 2020 23258
2021 2021 26469
2022 2022 26605
2023 2023 28528
2024 2024 9054
2025 2025 1

[[1]][[6]]

1) Conserve restore and regenerate places of value to nature and people. – Spatial planning
key key_display_name count
1837 1837 1
1902 1902 1
1911 1911 1
1915 1915 1
1919 1919 1
1932 1932 1
1934 1934 1
1938 1938 1
1941 1941 2
1944 1944 1
1945 1945 1
1946 1946 1
1948 1948 1
1949 1949 1
1954 1954 1
1955 1955 1
1956 1956 1
1957 1957 2
1958 1958 1
1959 1959 2
1962 1962 4
1963 1963 1
1964 1964 2
1965 1965 2
1966 1966 3
1967 1967 4
1968 1968 6
1969 1969 7
1970 1970 11
1971 1971 8
1972 1972 8
1973 1973 11
1974 1974 9
1975 1975 22
1976 1976 19
1977 1977 16
1978 1978 17
1979 1979 23
1980 1980 18
1981 1981 28
1982 1982 16
1983 1983 19
1984 1984 15
1985 1985 22
1986 1986 15
1987 1987 25
1988 1988 12
1989 1989 30
1990 1990 45
1991 1991 35
1992 1992 44
1993 1993 57
1994 1994 66
1995 1995 66
1996 1996 81
1997 1997 82
1998 1998 101
1999 1999 117
2000 2000 144
2001 2001 186
2002 2002 186
2003 2003 233
2004 2004 242
2005 2005 340
2006 2006 317
2007 2007 319
2008 2008 402
2009 2009 486
2010 2010 593
2011 2011 701
2012 2012 761
2013 2013 802
2014 2014 858
2015 2015 896
2016 2016 837
2017 2017 927
2018 2018 1041
2019 2019 1099
2020 2020 1274
2021 2021 1338
2022 2022 1405
2023 2023 1516
2024 2024 468

[[1]][[7]]

1) Conserve restore and regenerate places of value to nature and people. – Right-based approaches
key key_display_name count
1896 1896 1
1954 1954 1
1955 1955 1
1962 1962 1
1964 1964 1
1967 1967 1
1969 1969 1
1970 1970 2
1971 1971 1
1972 1972 1
1975 1975 1
1976 1976 1
1977 1977 1
1978 1978 1
1979 1979 1
1981 1981 2
1982 1982 1
1983 1983 4
1984 1984 3
1985 1985 2
1986 1986 3
1987 1987 1
1988 1988 7
1989 1989 3
1990 1990 3
1991 1991 8
1992 1992 11
1993 1993 7
1994 1994 5
1995 1995 4
1996 1996 7
1997 1997 5
1998 1998 13
1999 1999 7
2000 2000 16
2001 2001 16
2002 2002 26
2003 2003 34
2004 2004 34
2005 2005 50
2006 2006 48
2007 2007 56
2008 2008 76
2009 2009 74
2010 2010 81
2011 2011 108
2012 2012 105
2013 2013 123
2014 2014 129
2015 2015 132
2016 2016 174
2017 2017 158
2018 2018 180
2019 2019 203
2020 2020 246
2021 2021 233
2022 2022 222
2023 2023 233
2024 2024 48

[[2]] [[2]][[1]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Certification and standards
key key_display_name count
1828 1828 1
1832 1832 1
1834 1834 1
1835 1835 1
1837 1837 2
1838 1838 1
1843 1843 2
1845 1845 1
1846 1846 1
1847 1847 1
1851 1851 3
1852 1852 2
1853 1853 1
1854 1854 1
1855 1855 1
1857 1857 1
1860 1860 1
1861 1861 1
1862 1862 1
1864 1864 1
1865 1865 2
1866 1866 2
1867 1867 1
1869 1869 3
1870 1870 3
1871 1871 2
1872 1872 3
1873 1873 1
1874 1874 6
1875 1875 2
1877 1877 5
1878 1878 4
1879 1879 3
1880 1880 3
1881 1881 4
1882 1882 4
1883 1883 1
1884 1884 4
1885 1885 7
1886 1886 4
1887 1887 6
1888 1888 2
1889 1889 6
1890 1890 3
1892 1892 6
1893 1893 2
1894 1894 2
1895 1895 6
1896 1896 4
1897 1897 2
1898 1898 4
1899 1899 6
1900 1900 14
1901 1901 7
1902 1902 6
1903 1903 6
1904 1904 6
1905 1905 4
1906 1906 8
1907 1907 3
1908 1908 4
1909 1909 12
1910 1910 6
1911 1911 13
1912 1912 11
1913 1913 8
1914 1914 11
1915 1915 10
1916 1916 14
1917 1917 13
1918 1918 12
1919 1919 6
1920 1920 15
1921 1921 6
1922 1922 7
1923 1923 16
1924 1924 22
1925 1925 17
1926 1926 20
1927 1927 21
1928 1928 16
1929 1929 18
1930 1930 17
1931 1931 20
1932 1932 19
1933 1933 20
1934 1934 30
1935 1935 23
1936 1936 21
1937 1937 35
1938 1938 32
1939 1939 35
1940 1940 30
1941 1941 24
1942 1942 20
1943 1943 24
1944 1944 26
1945 1945 23
1946 1946 32
1947 1947 38
1948 1948 48
1949 1949 41
1950 1950 47
1951 1951 42
1952 1952 59
1953 1953 59
1954 1954 58
1955 1955 62
1956 1956 71
1957 1957 75
1958 1958 77
1959 1959 95
1960 1960 91
1961 1961 101
1962 1962 130
1963 1963 149
1964 1964 163
1965 1965 171
1966 1966 222
1967 1967 232
1968 1968 261
1969 1969 255
1970 1970 348
1971 1971 308
1972 1972 325
1973 1973 402
1974 1974 394
1975 1975 416
1976 1976 460
1977 1977 475
1978 1978 554
1979 1979 610
1980 1980 666
1981 1981 643
1982 1982 712
1983 1983 721
1984 1984 762
1985 1985 776
1986 1986 906
1987 1987 888
1988 1988 1048
1989 1989 1193
1990 1990 1258
1991 1991 1319
1992 1992 1472
1993 1993 1742
1994 1994 1950
1995 1995 2592
1996 1996 2815
1997 1997 4406
1998 1998 5414
1999 1999 5862
2000 2000 6341
2001 2001 7251
2002 2002 8152
2003 2003 8765
2004 2004 9646
2005 2005 10093
2006 2006 10907
2007 2007 11407
2008 2008 11276
2009 2009 11830
2010 2010 12729
2011 2011 13664
2012 2012 14639
2013 2013 16098
2014 2014 17386
2015 2015 18172
2016 2016 18815
2017 2017 18822
2018 2018 20029
2019 2019 22520
2020 2020 26857
2021 2021 28759
2022 2022 27144
2023 2023 27953
2024 2024 7319

[[2]][[2]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Community-driven initiatives
key key_display_name count
1961 1961 1
1975 1975 1
1977 1977 1
1980 1980 1
1981 1981 2
1983 1983 1
1985 1985 1
1987 1987 1
1988 1988 1
1989 1989 1
1990 1990 2
1991 1991 1
1992 1992 1
1993 1993 1
1994 1994 4
1995 1995 2
1996 1996 3
1997 1997 4
1998 1998 8
1999 1999 6
2000 2000 11
2001 2001 10
2002 2002 7
2003 2003 8
2004 2004 14
2005 2005 18
2006 2006 20
2007 2007 21
2008 2008 32
2009 2009 43
2010 2010 39
2011 2011 59
2012 2012 70
2013 2013 88
2014 2014 110
2015 2015 109
2016 2016 105
2017 2017 117
2018 2018 119
2019 2019 124
2020 2020 120
2021 2021 139
2022 2022 167
2023 2023 155
2024 2024 37

[[2]][[3]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Green infrastructure
key key_display_name count
1867 1867 1
1877 1877 1
1899 1899 1
1907 1907 1
1911 1911 1
1913 1913 1
1919 1919 1
1928 1928 1
1937 1937 1
1939 1939 1
1946 1946 1
1948 1948 1
1949 1949 1
1951 1951 1
1952 1952 1
1955 1955 1
1956 1956 1
1957 1957 2
1961 1961 1
1962 1962 1
1963 1963 3
1964 1964 1
1966 1966 2
1968 1968 1
1969 1969 1
1970 1970 9
1971 1971 1
1972 1972 7
1973 1973 2
1974 1974 7
1975 1975 4
1976 1976 3
1977 1977 2
1978 1978 7
1979 1979 14
1980 1980 4
1981 1981 8
1982 1982 6
1983 1983 11
1984 1984 12
1985 1985 13
1986 1986 21
1987 1987 17
1988 1988 12
1989 1989 21
1990 1990 21
1991 1991 16
1992 1992 30
1993 1993 36
1994 1994 38
1995 1995 34
1996 1996 58
1997 1997 69
1998 1998 67
1999 1999 75
2000 2000 93
2001 2001 109
2002 2002 141
2003 2003 134
2004 2004 161
2005 2005 212
2006 2006 221
2007 2007 267
2008 2008 301
2009 2009 365
2010 2010 494
2011 2011 557
2012 2012 568
2013 2013 614
2014 2014 701
2015 2015 764
2016 2016 821
2017 2017 870
2018 2018 1058
2019 2019 1143
2020 2020 1429
2021 2021 1797
2022 2022 1717
2023 2023 1959
2024 2024 639

[[2]][[4]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Green technology
key key_display_name count
1852 1852 1
1876 1876 2
1901 1901 1
1914 1914 1
1929 1929 1
1930 1930 1
1931 1931 1
1934 1934 1
1936 1936 2
1937 1937 2
1941 1941 1
1942 1942 1
1948 1948 1
1949 1949 1
1951 1951 2
1953 1953 1
1954 1954 2
1955 1955 1
1958 1958 2
1959 1959 1
1960 1960 3
1961 1961 2
1962 1962 1
1963 1963 3
1965 1965 3
1966 1966 4
1967 1967 7
1968 1968 3
1969 1969 4
1970 1970 7
1971 1971 4
1972 1972 7
1973 1973 7
1974 1974 3
1975 1975 3
1976 1976 11
1977 1977 13
1978 1978 20
1979 1979 20
1980 1980 18
1981 1981 17
1982 1982 11
1983 1983 21
1984 1984 13
1985 1985 23
1986 1986 10
1987 1987 12
1988 1988 13
1989 1989 11
1990 1990 11
1991 1991 15
1992 1992 15
1993 1993 16
1994 1994 25
1995 1995 39
1996 1996 38
1997 1997 35
1998 1998 37
1999 1999 34
2000 2000 59
2001 2001 53
2002 2002 89
2003 2003 94
2004 2004 110
2005 2005 163
2006 2006 197
2007 2007 271
2008 2008 503
2009 2009 578
2010 2010 737
2011 2011 916
2012 2012 1023
2013 2013 1106
2014 2014 1269
2015 2015 1353
2016 2016 1464
2017 2017 1536
2018 2018 1697
2019 2019 1911
2020 2020 2269
2021 2021 2505
2022 2022 2810
2023 2023 3043
2024 2024 1043

[[2]][[5]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Market-based mechanisms
x
NA

[[2]][[6]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Market regulation
key key_display_name count
1796 1796 1
1807 1807 2
1833 1833 1
1837 1837 1
1849 1849 2
1857 1857 1
1870 1870 1
1871 1871 1
1872 1872 1
1874 1874 1
1875 1875 1
1877 1877 1
1881 1881 1
1882 1882 1
1883 1883 3
1884 1884 1
1888 1888 1
1890 1890 2
1892 1892 2
1893 1893 1
1895 1895 2
1896 1896 3
1898 1898 1
1899 1899 5
1901 1901 1
1902 1902 1
1903 1903 1
1904 1904 3
1905 1905 1
1906 1906 1
1907 1907 4
1908 1908 1
1909 1909 2
1910 1910 1
1911 1911 2
1912 1912 1
1915 1915 3
1916 1916 2
1917 1917 6
1918 1918 3
1919 1919 1
1920 1920 3
1921 1921 1
1923 1923 1
1925 1925 7
1927 1927 1
1928 1928 1
1929 1929 1
1930 1930 1
1931 1931 1
1932 1932 2
1933 1933 5
1934 1934 1
1935 1935 3
1936 1936 3
1937 1937 2
1938 1938 7
1939 1939 2
1941 1941 3
1942 1942 5
1943 1943 2
1944 1944 6
1945 1945 1
1946 1946 6
1947 1947 6
1948 1948 6
1949 1949 3
1950 1950 12
1951 1951 5
1952 1952 6
1953 1953 5
1954 1954 12
1955 1955 10
1956 1956 9
1957 1957 12
1958 1958 11
1959 1959 16
1960 1960 11
1961 1961 20
1962 1962 22
1963 1963 16
1964 1964 18
1965 1965 23
1966 1966 30
1967 1967 36
1968 1968 33
1969 1969 39
1970 1970 75
1971 1971 58
1972 1972 55
1973 1973 59
1974 1974 57
1975 1975 53
1976 1976 53
1977 1977 66
1978 1978 83
1979 1979 93
1980 1980 91
1981 1981 101
1982 1982 107
1983 1983 101
1984 1984 105
1985 1985 124
1986 1986 122
1987 1987 127
1988 1988 180
1989 1989 184
1990 1990 192
1991 1991 232
1992 1992 279
1993 1993 321
1994 1994 335
1995 1995 405
1996 1996 473
1997 1997 572
1998 1998 634
1999 1999 699
2000 2000 913
2001 2001 1016
2002 2002 1187
2003 2003 1338
2004 2004 1466
2005 2005 1662
2006 2006 1932
2007 2007 2157
2008 2008 2336
2009 2009 2393
2010 2010 2769
2011 2011 2931
2012 2012 3438
2013 2013 3644
2014 2014 3873
2015 2015 4096
2016 2016 4057
2017 2017 4139
2018 2018 4451
2019 2019 4998
2020 2020 6279
2021 2021 6414
2022 2022 5666
2023 2023 6260
2024 2024 1626

[[2]][[7]]

2) Drive systemic change in the sectors most responsible for biodiversity loss. – Sustainable production
x
NA

[[3]] [[3]][[1]]

3) Transform economic systems to address power inequities and extractivist activities – Alternative business models
key key_display_name count
1870 1870 1
1887 1887 1
1909 1909 1
1910 1910 1
1927 1927 1
1954 1954 3
1958 1958 1
1960 1960 2
1962 1962 1
1967 1967 1
1968 1968 2
1969 1969 3
1971 1971 2
1972 1972 1
1973 1973 2
1975 1975 1
1979 1979 1
1980 1980 1
1981 1981 2
1982 1982 3
1983 1983 3
1984 1984 3
1985 1985 4
1986 1986 3
1987 1987 3
1988 1988 5
1989 1989 7
1990 1990 5
1991 1991 3
1992 1992 6
1993 1993 5
1994 1994 6
1995 1995 9
1996 1996 5
1997 1997 12
1998 1998 3
1999 1999 14
2000 2000 27
2001 2001 31
2002 2002 41
2003 2003 71
2004 2004 110
2005 2005 142
2006 2006 185
2007 2007 205
2008 2008 287
2009 2009 327
2010 2010 349
2011 2011 385
2012 2012 438
2013 2013 520
2014 2014 542
2015 2015 638
2016 2016 709
2017 2017 739
2018 2018 876
2019 2019 1016
2020 2020 1236
2021 2021 1489
2022 2022 1401
2023 2023 1645
2024 2024 544

[[3]][[2]]

3) Transform economic systems to address power inequities and extractivist activities – Alternative economic models
key key_display_name count
1500 1500 1
1631 1631 1
1743 1743 1
1770 1770 1
1790 1790 1
1796 1796 2
1797 1797 1
1798 1798 1
1799 1799 1
1800 1800 2
1806 1806 1
1812 1812 1
1814 1814 4
1816 1816 1
1817 1817 2
1819 1819 2
1820 1820 1
1823 1823 1
1824 1824 1
1825 1825 4
1827 1827 1
1828 1828 1
1830 1830 1
1831 1831 1
1832 1832 3
1833 1833 8
1834 1834 6
1835 1835 1
1836 1836 1
1837 1837 11
1838 1838 4
1839 1839 1
1840 1840 4
1841 1841 2
1842 1842 1
1843 1843 6
1844 1844 3
1845 1845 2
1846 1846 4
1847 1847 3
1848 1848 5
1849 1849 6
1850 1850 4
1851 1851 7
1852 1852 4
1853 1853 1
1854 1854 4
1855 1855 2
1856 1856 3
1857 1857 7
1858 1858 4
1859 1859 6
1860 1860 6
1862 1862 4
1863 1863 1
1864 1864 4
1865 1865 6
1866 1866 7
1867 1867 3
1868 1868 3
1869 1869 4
1870 1870 10
1871 1871 10
1872 1872 13
1873 1873 14
1874 1874 16
1875 1875 8
1876 1876 8
1877 1877 7
1878 1878 7
1879 1879 15
1880 1880 9
1881 1881 10
1882 1882 11
1883 1883 9
1884 1884 14
1885 1885 12
1886 1886 13
1887 1887 13
1888 1888 7
1889 1889 8
1890 1890 15
1891 1891 11
1892 1892 12
1893 1893 11
1894 1894 12
1895 1895 9
1896 1896 11
1897 1897 10
1898 1898 15
1899 1899 20
1900 1900 16
1901 1901 17
1902 1902 16
1903 1903 16
1904 1904 9
1905 1905 8
1906 1906 20
1907 1907 16
1908 1908 19
1909 1909 21
1910 1910 21
1911 1911 17
1912 1912 23
1913 1913 19
1914 1914 26
1915 1915 15
1916 1916 18
1917 1917 24
1918 1918 13
1919 1919 21
1920 1920 26
1921 1921 19
1922 1922 30
1923 1923 25
1924 1924 22
1925 1925 29
1926 1926 22
1927 1927 23
1928 1928 23
1929 1929 27
1930 1930 26
1931 1931 31
1932 1932 33
1933 1933 36
1934 1934 32
1935 1935 30
1936 1936 33
1937 1937 47
1938 1938 28
1939 1939 31
1940 1940 28
1941 1941 30
1942 1942 31
1943 1943 44
1944 1944 36
1945 1945 37
1946 1946 47
1947 1947 33
1948 1948 42
1949 1949 54
1950 1950 66
1951 1951 57
1952 1952 63
1953 1953 74
1954 1954 87
1955 1955 76
1956 1956 93
1957 1957 80
1958 1958 110
1959 1959 113
1960 1960 119
1961 1961 131
1962 1962 143
1963 1963 162
1964 1964 179
1965 1965 183
1966 1966 227
1967 1967 201
1968 1968 221
1969 1969 253
1970 1970 336
1971 1971 256
1972 1972 292
1973 1973 302
1974 1974 288
1975 1975 304
1976 1976 373
1977 1977 408
1978 1978 410
1979 1979 527
1980 1980 508
1981 1981 575
1982 1982 571
1983 1983 652
1984 1984 696
1985 1985 692
1986 1986 766
1987 1987 792
1988 1988 939
1989 1989 1026
1990 1990 1169
1991 1991 1130
1992 1992 1383
1993 1993 1433
1994 1994 1595
1995 1995 2054
1996 1996 2376
1997 1997 3253
1998 1998 3774
1999 1999 4223
2000 2000 4828
2001 2001 5244
2002 2002 5983
2003 2003 6306
2004 2004 6958
2005 2005 7611
2006 2006 8487
2007 2007 8988
2008 2008 9486
2009 2009 10178
2010 2010 11225
2011 2011 12220
2012 2012 13139
2013 2013 14388
2014 2014 14941
2015 2015 16162
2016 2016 17288
2017 2017 17090
2018 2018 17990
2019 2019 20058
2020 2020 24032
2021 2021 26252
2022 2022 25319
2023 2023 25188
2024 2024 6544

[[3]][[3]]

3) Transform economic systems to address power inequities and extractivist activities – Environmental governance
key key_display_name count
1989 1989 1
1992 1992 1
1993 1993 1
1994 1994 1
1997 1997 2
2001 2001 2
2002 2002 2
2003 2003 3
2004 2004 1
2005 2005 2
2006 2006 2
2007 2007 2
2008 2008 4
2009 2009 6
2010 2010 14
2011 2011 24
2012 2012 25
2013 2013 37
2014 2014 55
2015 2015 62
2016 2016 60
2017 2017 71
2018 2018 63
2019 2019 77
2020 2020 75
2021 2021 103
2022 2022 73
2023 2023 100
2024 2024 18

[[3]][[4]]

3) Transform economic systems to address power inequities and extractivist activities – Supply chain governance and transparency
key key_display_name count
1828 1828 1
1832 1832 1
1834 1834 1
1835 1835 1
1837 1837 2
1838 1838 1
1843 1843 2
1845 1845 1
1847 1847 1
1851 1851 3
1852 1852 2
1853 1853 1
1854 1854 1
1855 1855 1
1857 1857 1
1860 1860 1
1862 1862 1
1864 1864 1
1865 1865 2
1866 1866 2
1867 1867 1
1869 1869 3
1870 1870 3
1871 1871 1
1872 1872 3
1873 1873 1
1874 1874 6
1875 1875 2
1877 1877 5
1878 1878 2
1879 1879 2
1880 1880 3
1881 1881 4
1882 1882 4
1883 1883 1
1884 1884 4
1885 1885 7
1886 1886 4
1887 1887 6
1888 1888 2
1889 1889 6
1890 1890 3
1892 1892 6
1893 1893 2
1894 1894 2
1895 1895 6
1896 1896 4
1897 1897 2
1898 1898 4
1899 1899 6
1900 1900 14
1901 1901 7
1902 1902 6
1903 1903 6
1904 1904 6
1905 1905 4
1906 1906 8
1907 1907 3
1908 1908 4
1909 1909 12
1910 1910 6
1911 1911 12
1912 1912 11
1913 1913 8
1914 1914 11
1915 1915 10
1916 1916 14
1917 1917 13
1918 1918 12
1919 1919 6
1920 1920 15
1921 1921 6
1922 1922 6
1923 1923 16
1924 1924 22
1925 1925 17
1926 1926 20
1927 1927 21
1928 1928 17
1929 1929 18
1930 1930 17
1931 1931 20
1932 1932 18
1933 1933 21
1934 1934 30
1935 1935 23
1936 1936 21
1937 1937 35
1938 1938 29
1939 1939 33
1940 1940 30
1941 1941 24
1942 1942 20
1943 1943 23
1944 1944 26
1945 1945 23
1946 1946 32
1947 1947 38
1948 1948 49
1949 1949 41
1950 1950 46
1951 1951 41
1952 1952 58
1953 1953 57
1954 1954 56
1955 1955 61
1956 1956 71
1957 1957 73
1958 1958 76
1959 1959 95
1960 1960 89
1961 1961 98
1962 1962 129
1963 1963 144
1964 1964 156
1965 1965 164
1966 1966 212
1967 1967 220
1968 1968 252
1969 1969 244
1970 1970 326
1971 1971 290
1972 1972 306
1973 1973 388
1974 1974 367
1975 1975 387
1976 1976 424
1977 1977 452
1978 1978 512
1979 1979 559
1980 1980 611
1981 1981 597
1982 1982 650
1983 1983 655
1984 1984 699
1985 1985 712
1986 1986 831
1987 1987 813
1988 1988 957
1989 1989 1089
1990 1990 1147
1991 1991 1188
1992 1992 1356
1993 1993 1570
1994 1994 1768
1995 1995 2398
1996 1996 2580
1997 1997 4168
1998 1998 5084
1999 1999 5486
2000 2000 5918
2001 2001 6779
2002 2002 7539
2003 2003 8172
2004 2004 8958
2005 2005 9324
2006 2006 10013
2007 2007 10426
2008 2008 10302
2009 2009 10676
2010 2010 11461
2011 2011 12319
2012 2012 13160
2013 2013 14341
2014 2014 15625
2015 2015 16253
2016 2016 16836
2017 2017 16723
2018 2018 17910
2019 2019 20006
2020 2020 23526
2021 2021 25133
2022 2022 23884
2023 2023 24410
2024 2024 6319

[[3]][[5]]

3) Transform economic systems to address power inequities and extractivist activities – Sustainable consumption
key key_display_name count
1838 1838 1
1846 1846 1
1858 1858 1
1872 1872 1
1881 1881 1
1882 1882 1
1883 1883 1
1887 1887 1
1899 1899 1
1900 1900 1
1907 1907 1
1910 1910 1
1911 1911 1
1912 1912 1
1913 1913 1
1914 1914 2
1915 1915 2
1918 1918 1
1923 1923 1
1924 1924 1
1926 1926 2
1928 1928 1
1929 1929 2
1930 1930 3
1931 1931 2
1933 1933 2
1934 1934 4
1935 1935 1
1936 1936 1
1937 1937 2
1940 1940 2
1943 1943 2
1947 1947 2
1948 1948 1
1949 1949 4
1950 1950 1
1951 1951 2
1952 1952 1
1953 1953 2
1954 1954 3
1955 1955 4
1956 1956 4
1957 1957 5
1958 1958 1
1959 1959 1
1960 1960 6
1961 1961 7
1962 1962 6
1963 1963 15
1964 1964 13
1965 1965 9
1966 1966 9
1967 1967 15
1968 1968 15
1969 1969 11
1970 1970 21
1971 1971 19
1972 1972 32
1973 1973 31
1974 1974 41
1975 1975 36
1976 1976 40
1977 1977 43
1978 1978 38
1979 1979 48
1980 1980 58
1981 1981 75
1982 1982 60
1983 1983 57
1984 1984 69
1985 1985 70
1986 1986 66
1987 1987 77
1988 1988 97
1989 1989 136
1990 1990 122
1991 1991 136
1992 1992 206
1993 1993 221
1994 1994 234
1995 1995 282
1996 1996 302
1997 1997 349
1998 1998 483
1999 1999 529
2000 2000 571
2001 2001 643
2002 2002 782
2003 2003 836
2004 2004 899
2005 2005 981
2006 2006 1077
2007 2007 1105
2008 2008 1207
2009 2009 1334
2010 2010 1654
2011 2011 1789
2012 2012 1864
2013 2013 2090
2014 2014 2324
2015 2015 2411
2016 2016 2587
2017 2017 2858
2018 2018 3124
2019 2019 3767
2020 2020 4752
2021 2021 5302
2022 2022 5811
2023 2023 6540
2024 2024 2101
2025 2025 1

[[3]][[6]]

3) Transform economic systems to address power inequities and extractivist activities – Sustainability and well-being measures
key key_display_name count
1916 1916 1
1931 1931 1
1956 1956 1
1959 1959 1
1964 1964 1
1965 1965 1
1966 1966 1
1968 1968 1
1970 1970 1
1972 1972 1
1973 1973 1
1976 1976 2
1978 1978 1
1980 1980 1
1982 1982 3
1983 1983 1
1984 1984 1
1985 1985 1
1987 1987 2
1988 1988 2
1990 1990 1
1991 1991 1
1993 1993 3
1994 1994 2
1995 1995 5
1996 1996 6
1997 1997 8
1998 1998 8
1999 1999 16
2000 2000 14
2001 2001 15
2002 2002 25
2003 2003 19
2004 2004 37
2005 2005 44
2006 2006 55
2007 2007 79
2008 2008 100
2009 2009 118
2010 2010 143
2011 2011 157
2012 2012 150
2013 2013 179
2014 2014 161
2015 2015 171
2016 2016 145
2017 2017 176
2018 2018 225
2019 2019 234
2020 2020 254
2021 2021 333
2022 2022 380
2023 2023 427
2024 2024 147

[[4]] [[4]][[1]]

4) Transform governance systems to be inclusive accountable and adaptive. – Anti-corruption measures
key key_display_name count
1997 1997 1
1998 1998 1
1999 1999 2
2001 2001 1
2004 2004 2
2006 2006 5
2009 2009 3
2010 2010 1
2011 2011 3
2012 2012 3
2013 2013 6
2014 2014 8
2015 2015 8
2016 2016 4
2017 2017 9
2018 2018 9
2019 2019 8
2020 2020 8
2021 2021 8
2022 2022 4
2023 2023 7
2024 2024 1

[[4]][[2]]

4) Transform governance systems to be inclusive accountable and adaptive. – Customary governance
key key_display_name count
1949 1949 1
1962 1962 1
1965 1965 2
1969 1969 1
1970 1970 1
1971 1971 2
1972 1972 1
1973 1973 1
1975 1975 1
1976 1976 1
1977 1977 1
1979 1979 6
1982 1982 2
1983 1983 1
1985 1985 2
1986 1986 2
1987 1987 1
1988 1988 3
1989 1989 3
1990 1990 4
1991 1991 3
1992 1992 8
1993 1993 7
1994 1994 4
1995 1995 1
1996 1996 12
1997 1997 9
1998 1998 11
1999 1999 10
2000 2000 12
2001 2001 19
2002 2002 18
2003 2003 18
2004 2004 16
2005 2005 36
2006 2006 27
2007 2007 41
2008 2008 30
2009 2009 46
2010 2010 39
2011 2011 56
2012 2012 48
2013 2013 64
2014 2014 76
2015 2015 68
2016 2016 76
2017 2017 84
2018 2018 97
2019 2019 100
2020 2020 127
2021 2021 151
2022 2022 127
2023 2023 151
2024 2024 35

[[4]][[3]]

4) Transform governance systems to be inclusive accountable and adaptive. – Engagement and participation
x
NA

[[4]][[4]]

4) Transform governance systems to be inclusive accountable and adaptive. – Governance and democratic processes
key key_display_name count
1976 1976 1
1982 1982 1
1984 1984 1
1988 1988 1
1990 1990 1
1993 1993 5
1994 1994 4
1995 1995 5
1996 1996 6
1997 1997 2
1998 1998 1
1999 1999 3
2000 2000 5
2001 2001 8
2002 2002 5
2003 2003 13
2004 2004 10
2005 2005 18
2006 2006 10
2007 2007 14
2008 2008 18
2009 2009 29
2010 2010 23
2011 2011 32
2012 2012 26
2013 2013 36
2014 2014 27
2015 2015 39
2016 2016 59
2017 2017 56
2018 2018 48
2019 2019 52
2020 2020 55
2021 2021 73
2022 2022 55
2023 2023 87
2024 2024 37

[[4]][[5]]

4) Transform governance systems to be inclusive accountable and adaptive. – International agreements
x
NA

[[4]][[6]]

4) Transform governance systems to be inclusive accountable and adaptive. – Legislative reforms
key key_display_name count
1949 1949 1
1956 1956 1
1964 1964 1
1966 1966 1
1970 1970 4
1971 1971 3
1972 1972 1
1973 1973 3
1974 1974 6
1975 1975 3
1978 1978 2
1979 1979 2
1980 1980 2
1981 1981 3
1982 1982 2
1983 1983 2
1984 1984 1
1985 1985 8
1986 1986 5
1987 1987 5
1988 1988 4
1989 1989 6
1990 1990 12
1991 1991 7
1992 1992 13
1993 1993 15
1994 1994 15
1995 1995 22
1996 1996 21
1997 1997 24
1998 1998 31
1999 1999 35
2000 2000 41
2001 2001 48
2002 2002 46
2003 2003 49
2004 2004 60
2005 2005 66
2006 2006 74
2007 2007 83
2008 2008 88
2009 2009 89
2010 2010 109
2011 2011 93
2012 2012 116
2013 2013 149
2014 2014 149
2015 2015 140
2016 2016 131
2017 2017 123
2018 2018 151
2019 2019 134
2020 2020 135
2021 2021 141
2022 2022 107
2023 2023 125
2024 2024 21

[[5]] [[5]][[1]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Behavioral change
key key_display_name count
1902 1902 1
1925 1925 1
1934 1934 1
1937 1937 2
1938 1938 2
1940 1940 2
1942 1942 3
1944 1944 1
1945 1945 1
1946 1946 1
1947 1947 1
1950 1950 1
1951 1951 1
1953 1953 1
1954 1954 4
1956 1956 3
1957 1957 4
1958 1958 3
1959 1959 1
1960 1960 3
1961 1961 5
1962 1962 5
1963 1963 3
1964 1964 5
1965 1965 5
1966 1966 5
1967 1967 5
1968 1968 9
1969 1969 7
1970 1970 15
1971 1971 18
1972 1972 19
1973 1973 19
1974 1974 17
1975 1975 16
1976 1976 18
1977 1977 28
1978 1978 35
1979 1979 19
1980 1980 27
1981 1981 25
1982 1982 32
1983 1983 36
1984 1984 39
1985 1985 44
1986 1986 33
1987 1987 48
1988 1988 39
1989 1989 47
1990 1990 52
1991 1991 64
1992 1992 71
1993 1993 77
1994 1994 88
1995 1995 83
1996 1996 110
1997 1997 111
1998 1998 116
1999 1999 118
2000 2000 177
2001 2001 183
2002 2002 194
2003 2003 239
2004 2004 268
2005 2005 314
2006 2006 346
2007 2007 399
2008 2008 422
2009 2009 512
2010 2010 691
2011 2011 699
2012 2012 827
2013 2013 972
2014 2014 1089
2015 2015 1127
2016 2016 1261
2017 2017 1248
2018 2018 1397
2019 2019 1583
2020 2020 2040
2021 2021 2241
2022 2022 2209
2023 2023 2297
2024 2024 633

[[5]][[2]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Capacity building
key key_display_name count
1917 1917 1
1951 1951 1
1952 1952 2
1956 1956 1
1959 1959 1
1961 1961 1
1969 1969 1
1970 1970 5
1974 1974 1
1975 1975 2
1976 1976 1
1978 1978 2
1980 1980 7
1981 1981 2
1982 1982 2
1983 1983 1
1984 1984 2
1985 1985 3
1986 1986 1
1987 1987 3
1988 1988 1
1989 1989 3
1990 1990 8
1991 1991 7
1992 1992 8
1993 1993 18
1994 1994 13
1995 1995 25
1996 1996 25
1997 1997 33
1998 1998 35
1999 1999 47
2000 2000 63
2001 2001 75
2002 2002 82
2003 2003 101
2004 2004 130
2005 2005 153
2006 2006 176
2007 2007 212
2008 2008 240
2009 2009 251
2010 2010 334
2011 2011 364
2012 2012 420
2013 2013 465
2014 2014 481
2015 2015 486
2016 2016 571
2017 2017 547
2018 2018 608
2019 2019 700
2020 2020 726
2021 2021 863
2022 2022 868
2023 2023 1061
2024 2024 342

[[5]][[3]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Cultural change
key key_display_name count
1830 1830 1
1902 1902 1
1906 1906 1
1930 1930 1
1936 1936 1
1939 1939 1
1945 1945 1
1947 1947 1
1953 1953 1
1955 1955 2
1956 1956 1
1957 1957 3
1959 1959 2
1960 1960 3
1961 1961 1
1962 1962 2
1963 1963 1
1965 1965 3
1966 1966 2
1968 1968 2
1969 1969 2
1970 1970 5
1971 1971 5
1972 1972 11
1973 1973 9
1974 1974 5
1975 1975 5
1976 1976 6
1977 1977 9
1978 1978 10
1979 1979 15
1980 1980 24
1981 1981 17
1982 1982 16
1983 1983 17
1984 1984 14
1985 1985 26
1986 1986 23
1987 1987 18
1988 1988 30
1989 1989 44
1990 1990 39
1991 1991 47
1992 1992 47
1993 1993 59
1994 1994 84
1995 1995 87
1996 1996 106
1997 1997 106
1998 1998 137
1999 1999 146
2000 2000 194
2001 2001 198
2002 2002 244
2003 2003 215
2004 2004 297
2005 2005 330
2006 2006 386
2007 2007 365
2008 2008 403
2009 2009 424
2010 2010 546
2011 2011 499
2012 2012 569
2013 2013 631
2014 2014 694
2015 2015 743
2016 2016 778
2017 2017 790
2018 2018 803
2019 2019 984
2020 2020 1288
2021 2021 1313
2022 2022 1170
2023 2023 1555
2024 2024 390

[[5]][[4]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Education
key key_display_name count
1800 1800 1
1802 1802 1
1809 1809 1
1830 1830 1
1851 1851 1
1854 1854 1
1868 1868 2
1869 1869 1
1870 1870 2
1871 1871 1
1872 1872 1
1874 1874 1
1875 1875 1
1876 1876 2
1877 1877 3
1878 1878 1
1880 1880 1
1883 1883 1
1886 1886 2
1887 1887 1
1888 1888 1
1889 1889 1
1890 1890 2
1896 1896 4
1897 1897 2
1898 1898 3
1899 1899 1
1901 1901 4
1902 1902 4
1903 1903 5
1904 1904 4
1905 1905 3
1907 1907 2
1908 1908 3
1909 1909 1
1910 1910 3
1911 1911 1
1912 1912 5
1913 1913 1
1914 1914 1
1915 1915 1
1916 1916 3
1917 1917 1
1918 1918 3
1919 1919 2
1920 1920 3
1921 1921 3
1922 1922 1
1923 1923 2
1925 1925 1
1926 1926 1
1927 1927 3
1928 1928 4
1929 1929 2
1930 1930 3
1931 1931 4
1933 1933 5
1934 1934 8
1935 1935 4
1936 1936 4
1937 1937 5
1938 1938 4
1939 1939 7
1940 1940 7
1941 1941 3
1942 1942 6
1943 1943 3
1944 1944 7
1945 1945 9
1946 1946 6
1947 1947 3
1948 1948 6
1949 1949 9
1950 1950 3
1951 1951 6
1952 1952 3
1953 1953 13
1954 1954 8
1955 1955 6
1956 1956 4
1957 1957 8
1958 1958 10
1959 1959 9
1960 1960 14
1961 1961 17
1962 1962 20
1963 1963 11
1964 1964 16
1965 1965 21
1966 1966 22
1967 1967 23
1968 1968 26
1969 1969 55
1970 1970 64
1971 1971 37
1972 1972 43
1973 1973 57
1974 1974 53
1975 1975 50
1976 1976 63
1977 1977 73
1978 1978 69
1979 1979 74
1980 1980 89
1981 1981 95
1982 1982 109
1983 1983 106
1984 1984 105
1985 1985 143
1986 1986 150
1987 1987 154
1988 1988 145
1989 1989 218
1990 1990 228
1991 1991 213
1992 1992 274
1993 1993 294
1994 1994 373
1995 1995 382
1996 1996 508
1997 1997 566
1998 1998 597
1999 1999 627
2000 2000 850
2001 2001 909
2002 2002 990
2003 2003 1009
2004 2004 1266
2005 2005 1403
2006 2006 1644
2007 2007 1746
2008 2008 1991
2009 2009 2136
2010 2010 2348
2011 2011 2629
2012 2012 2842
2013 2013 3178
2014 2014 3245
2015 2015 3344
2016 2016 3539
2017 2017 3460
2018 2018 3537
2019 2019 3872
2020 2020 5175
2021 2021 4772
2022 2022 4611
2023 2023 5066
2024 2024 1251

[[5]][[5]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Holistic approaches to sustainability
key key_display_name count
1918 1918 1
1921 1921 1
1926 1926 1
1938 1938 2
1939 1939 2
1942 1942 1
1949 1949 1
1950 1950 1
1952 1952 4
1953 1953 2
1954 1954 1
1956 1956 2
1957 1957 1
1959 1959 1
1960 1960 1
1961 1961 1
1962 1962 1
1963 1963 1
1964 1964 2
1965 1965 6
1966 1966 4
1967 1967 4
1968 1968 1
1969 1969 4
1970 1970 1
1971 1971 4
1972 1972 4
1973 1973 8
1974 1974 2
1975 1975 5
1976 1976 4
1977 1977 7
1978 1978 10
1979 1979 4
1980 1980 12
1981 1981 8
1982 1982 11
1983 1983 6
1984 1984 12
1985 1985 18
1986 1986 23
1987 1987 14
1988 1988 31
1989 1989 31
1990 1990 27
1991 1991 27
1992 1992 39
1993 1993 35
1994 1994 36
1995 1995 56
1996 1996 46
1997 1997 73
1998 1998 52
1999 1999 74
2000 2000 78
2001 2001 101
2002 2002 88
2003 2003 114
2004 2004 130
2005 2005 166
2006 2006 183
2007 2007 212
2008 2008 243
2009 2009 214
2010 2010 340
2011 2011 336
2012 2012 364
2013 2013 400
2014 2014 469
2015 2015 505
2016 2016 562
2017 2017 673
2018 2018 721
2019 2019 762
2020 2020 1056
2021 2021 1261
2022 2022 1183
2023 2023 1516
2024 2024 373

[[5]][[6]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Network and collaboration
key key_display_name count
1780 1780 1
1797 1797 1
1799 1799 1
1800 1800 1
1805 1805 1
1808 1808 3
1811 1811 1
1821 1821 1
1822 1822 1
1824 1824 1
1825 1825 1
1826 1826 1
1830 1830 1
1831 1831 2
1832 1832 2
1833 1833 2
1834 1834 1
1835 1835 2
1836 1836 1
1837 1837 5
1838 1838 1
1840 1840 2
1841 1841 1
1842 1842 1
1844 1844 1
1845 1845 1
1848 1848 2
1849 1849 4
1850 1850 2
1851 1851 3
1852 1852 2
1853 1853 2
1855 1855 1
1856 1856 1
1857 1857 1
1859 1859 3
1860 1860 1
1861 1861 1
1862 1862 2
1863 1863 5
1864 1864 3
1865 1865 1
1866 1866 2
1867 1867 1
1868 1868 3
1869 1869 2
1870 1870 9
1871 1871 4
1872 1872 2
1873 1873 3
1874 1874 7
1875 1875 3
1876 1876 4
1877 1877 5
1878 1878 5
1879 1879 6
1880 1880 1
1881 1881 3
1882 1882 4
1883 1883 5
1884 1884 8
1885 1885 6
1886 1886 8
1887 1887 2
1888 1888 4
1889 1889 2
1890 1890 7
1891 1891 6
1892 1892 5
1893 1893 7
1894 1894 2
1895 1895 3
1896 1896 5
1897 1897 6
1898 1898 3
1899 1899 8
1900 1900 10
1901 1901 7
1902 1902 6
1903 1903 4
1904 1904 5
1905 1905 4
1906 1906 4
1907 1907 3
1908 1908 8
1909 1909 8
1910 1910 6
1911 1911 17
1912 1912 3
1913 1913 8
1914 1914 10
1915 1915 7
1916 1916 12
1917 1917 11
1918 1918 7
1919 1919 9
1920 1920 9
1921 1921 8
1922 1922 15
1923 1923 7
1924 1924 9
1925 1925 10
1926 1926 13
1927 1927 22
1928 1928 8
1929 1929 5
1930 1930 10
1931 1931 9
1932 1932 11
1933 1933 14
1934 1934 21
1935 1935 25
1936 1936 12
1937 1937 18
1938 1938 12
1939 1939 25
1940 1940 16
1941 1941 13
1942 1942 20
1943 1943 20
1944 1944 17
1945 1945 16
1946 1946 21
1947 1947 17
1948 1948 23
1949 1949 30
1950 1950 24
1951 1951 32
1952 1952 31
1953 1953 35
1954 1954 38
1955 1955 26
1956 1956 30
1957 1957 30
1958 1958 44
1959 1959 61
1960 1960 52
1961 1961 61
1962 1962 73
1963 1963 78
1964 1964 77
1965 1965 82
1966 1966 111
1967 1967 94
1968 1968 109
1969 1969 147
1970 1970 210
1971 1971 146
1972 1972 143
1973 1973 159
1974 1974 180
1975 1975 186
1976 1976 225
1977 1977 221
1978 1978 225
1979 1979 283
1980 1980 293
1981 1981 325
1982 1982 341
1983 1983 332
1984 1984 361
1985 1985 371
1986 1986 427
1987 1987 424
1988 1988 496
1989 1989 544
1990 1990 651
1991 1991 633
1992 1992 754
1993 1993 895
1994 1994 1005
1995 1995 1311
1996 1996 1516
1997 1997 2246
1998 1998 2654
1999 1999 3004
2000 2000 3507
2001 2001 3914
2002 2002 4539
2003 2003 4874
2004 2004 5252
2005 2005 5754
2006 2006 6482
2007 2007 6785
2008 2008 7360
2009 2009 8015
2010 2010 9012
2011 2011 9991
2012 2012 10816
2013 2013 12320
2014 2014 13065
2015 2015 14360
2016 2016 15003
2017 2017 15626
2018 2018 16559
2019 2019 18712
2020 2020 22464
2021 2021 24479
2022 2022 23766
2023 2023 26539
2024 2024 9128
2025 2025 2

[[5]][[7]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Knowledge co-creation
key key_display_name count
1887 1887 1
1890 1890 1
1910 1910 1
1951 1951 1
1952 1952 1
1960 1960 1
1961 1961 1
1962 1962 1
1966 1966 1
1968 1968 2
1969 1969 1
1970 1970 3
1972 1972 1
1975 1975 1
1976 1976 3
1977 1977 1
1978 1978 2
1979 1979 4
1980 1980 2
1981 1981 1
1982 1982 1
1983 1983 3
1984 1984 3
1985 1985 4
1986 1986 8
1987 1987 10
1988 1988 10
1989 1989 6
1990 1990 9
1991 1991 18
1992 1992 14
1993 1993 17
1994 1994 26
1995 1995 34
1996 1996 45
1997 1997 34
1998 1998 42
1999 1999 40
2000 2000 67
2001 2001 54
2002 2002 83
2003 2003 86
2004 2004 108
2005 2005 132
2006 2006 143
2007 2007 171
2008 2008 157
2009 2009 239
2010 2010 215
2011 2011 262
2012 2012 272
2013 2013 355
2014 2014 371
2015 2015 352
2016 2016 420
2017 2017 391
2018 2018 448
2019 2019 529
2020 2020 663
2021 2021 829
2022 2022 816
2023 2023 922
2024 2024 258

[[5]][[8]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Psychological change
key key_display_name count
1500 1500 2
1631 1631 1
1670 1670 1
1688 1688 1
1692 1692 1
1724 1724 1
1743 1743 1
1762 1762 1
1770 1770 2
1775 1775 1
1777 1777 1
1780 1780 1
1789 1789 1
1790 1790 2
1792 1792 1
1794 1794 1
1795 1795 2
1796 1796 3
1797 1797 1
1798 1798 1
1799 1799 2
1800 1800 3
1801 1801 2
1803 1803 1
1804 1804 1
1805 1805 1
1806 1806 1
1807 1807 2
1808 1808 5
1809 1809 2
1810 1810 1
1811 1811 2
1812 1812 3
1814 1814 2
1816 1816 2
1817 1817 3
1818 1818 1
1819 1819 5
1820 1820 2
1821 1821 5
1822 1822 2
1823 1823 1
1824 1824 5
1825 1825 5
1826 1826 3
1827 1827 2
1828 1828 3
1829 1829 4
1830 1830 4
1831 1831 8
1832 1832 7
1833 1833 20
1834 1834 9
1835 1835 6
1836 1836 10
1837 1837 30
1838 1838 9
1839 1839 5
1840 1840 9
1841 1841 5
1842 1842 10
1843 1843 24
1844 1844 6
1845 1845 9
1846 1846 9
1847 1847 4
1848 1848 11
1849 1849 14
1850 1850 10
1851 1851 27
1852 1852 14
1853 1853 8
1854 1854 14
1855 1855 13
1856 1856 14
1857 1857 17
1858 1858 17
1859 1859 19
1860 1860 18
1861 1861 12
1862 1862 13
1863 1863 15
1864 1864 15
1865 1865 17
1866 1866 20
1867 1867 11
1868 1868 22
1869 1869 21
1870 1870 50
1871 1871 50
1872 1872 45
1873 1873 47
1874 1874 60
1875 1875 40
1876 1876 55
1877 1877 50
1878 1878 49
1879 1879 44
1880 1880 57
1881 1881 57
1882 1882 47
1883 1883 52
1884 1884 54
1885 1885 70
1886 1886 51
1887 1887 52
1888 1888 56
1889 1889 56
1890 1890 59
1891 1891 50
1892 1892 44
1893 1893 52
1894 1894 53
1895 1895 52
1896 1896 37
1897 1897 45
1898 1898 54
1899 1899 76
1900 1900 70
1901 1901 67
1902 1902 57
1903 1903 56
1904 1904 40
1905 1905 65
1906 1906 81
1907 1907 69
1908 1908 61
1909 1909 85
1910 1910 90
1911 1911 90
1912 1912 97
1913 1913 77
1914 1914 102
1915 1915 80
1916 1916 75
1917 1917 86
1918 1918 91
1919 1919 83
1920 1920 123
1921 1921 104
1922 1922 124
1923 1923 109
1924 1924 123
1925 1925 144
1926 1926 118
1927 1927 136
1928 1928 135
1929 1929 136
1930 1930 150
1931 1931 140
1932 1932 158
1933 1933 185
1934 1934 198
1935 1935 203
1936 1936 192
1937 1937 193
1938 1938 196
1939 1939 197
1940 1940 206
1941 1941 161
1942 1942 183
1943 1943 176
1944 1944 161
1945 1945 151
1946 1946 192
1947 1947 213
1948 1948 236
1949 1949 237
1950 1950 258
1951 1951 276
1952 1952 282
1953 1953 316
1954 1954 360
1955 1955 368
1956 1956 472
1957 1957 415
1958 1958 458
1959 1959 569
1960 1960 570
1961 1961 639
1962 1962 677
1963 1963 823
1964 1964 789
1965 1965 894
1966 1966 1037
1967 1967 1075
1968 1968 1214
1969 1969 1293
1970 1970 1634
1971 1971 1344
1972 1972 1509
1973 1973 1615
1974 1974 1730
1975 1975 1837
1976 1976 2041
1977 1977 2162
1978 1978 2261
1979 1979 2517
1980 1980 2656
1981 1981 2732
1982 1982 2902
1983 1983 3096
1984 1984 3235
1985 1985 3400
1986 1986 3598
1987 1987 3723
1988 1988 4252
1989 1989 4598
1990 1990 5079
1991 1991 5258
1992 1992 5985
1993 1993 6419
1994 1994 7199
1995 1995 8687
1996 1996 9687
1997 1997 12074
1998 1998 14006
1999 1999 15258
2000 2000 17355
2001 2001 19034
2002 2002 21541
2003 2003 22696
2004 2004 25745
2005 2005 28050
2006 2006 30534
2007 2007 32150
2008 2008 33864
2009 2009 36785
2010 2010 40448
2011 2011 43765
2012 2012 47439
2013 2013 51420
2014 2014 54380
2015 2015 57511
2016 2016 58262
2017 2017 58429
2018 2018 63098
2019 2019 69658
2020 2020 82469
2021 2021 87967
2022 2022 83563
2023 2023 84747
2024 2024 21595
2025 2025 1

[[5]][[9]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Spiritual and cultural practices
key key_display_name count
1762 1762 1
1797 1797 1
1800 1800 1
1801 1801 1
1803 1803 1
1809 1809 1
1810 1810 1
1811 1811 1
1814 1814 1
1818 1818 1
1819 1819 2
1822 1822 1
1824 1824 1
1825 1825 2
1826 1826 3
1827 1827 2
1830 1830 2
1831 1831 5
1832 1832 3
1833 1833 5
1834 1834 5
1835 1835 2
1836 1836 2
1837 1837 11
1838 1838 4
1840 1840 2
1841 1841 2
1842 1842 4
1843 1843 7
1844 1844 3
1845 1845 6
1846 1846 1
1848 1848 2
1849 1849 6
1850 1850 4
1851 1851 6
1852 1852 2
1853 1853 1
1854 1854 2
1855 1855 3
1856 1856 3
1857 1857 4
1858 1858 4
1859 1859 9
1860 1860 1
1861 1861 4
1862 1862 2
1863 1863 5
1864 1864 3
1865 1865 6
1866 1866 5
1867 1867 3
1868 1868 2
1869 1869 12
1870 1870 23
1871 1871 15
1872 1872 8
1873 1873 10
1874 1874 21
1875 1875 8
1876 1876 16
1877 1877 8
1878 1878 10
1879 1879 8
1880 1880 16
1881 1881 17
1882 1882 10
1883 1883 9
1884 1884 17
1885 1885 17
1886 1886 18
1887 1887 18
1888 1888 13
1889 1889 14
1890 1890 20
1891 1891 12
1892 1892 14
1893 1893 12
1894 1894 10
1895 1895 14
1896 1896 9
1897 1897 6
1898 1898 18
1899 1899 22
1900 1900 21
1901 1901 15
1902 1902 18
1903 1903 11
1904 1904 12
1905 1905 15
1906 1906 13
1907 1907 18
1908 1908 22
1909 1909 24
1910 1910 30
1911 1911 38
1912 1912 34
1913 1913 25
1914 1914 38
1915 1915 30
1916 1916 21
1917 1917 25
1918 1918 20
1919 1919 30
1920 1920 22
1921 1921 24
1922 1922 38
1923 1923 42
1924 1924 35
1925 1925 48
1926 1926 34
1927 1927 51
1928 1928 43
1929 1929 36
1930 1930 50
1931 1931 58
1932 1932 41
1933 1933 53
1934 1934 59
1935 1935 62
1936 1936 47
1937 1937 58
1938 1938 60
1939 1939 50
1940 1940 53
1941 1941 61
1942 1942 46
1943 1943 47
1944 1944 47
1945 1945 34
1946 1946 53
1947 1947 57
1948 1948 72
1949 1949 82
1950 1950 81
1951 1951 94
1952 1952 103
1953 1953 101
1954 1954 115
1955 1955 119
1956 1956 149
1957 1957 129
1958 1958 157
1959 1959 170
1960 1960 216
1961 1961 216
1962 1962 244
1963 1963 250
1964 1964 272
1965 1965 311
1966 1966 395
1967 1967 364
1968 1968 395
1969 1969 454
1970 1970 556
1971 1971 507
1972 1972 534
1973 1973 601
1974 1974 618
1975 1975 596
1976 1976 697
1977 1977 758
1978 1978 817
1979 1979 852
1980 1980 925
1981 1981 973
1982 1982 1055
1983 1983 1155
1984 1984 1161
1985 1985 1286
1986 1986 1316
1987 1987 1410
1988 1988 1541
1989 1989 1754
1990 1990 1866
1991 1991 2018
1992 1992 2155
1993 1993 2285
1994 1994 2545
1995 1995 3325
1996 1996 3637
1997 1997 5442
1998 1998 6508
1999 1999 7017
2000 2000 7547
2001 2001 8297
2002 2002 8805
2003 2003 9338
2004 2004 10284
2005 2005 10497
2006 2006 11021
2007 2007 11591
2008 2008 11668
2009 2009 12138
2010 2010 12974
2011 2011 14182
2012 2012 15116
2013 2013 16724
2014 2014 18054
2015 2015 19608
2016 2016 20575
2017 2017 20336
2018 2018 22480
2019 2019 24217
2020 2020 28485
2021 2021 29785
2022 2022 28827
2023 2023 29185
2024 2024 8522

[[5]][[10]]

5) Promote narratives and norms of unity in diversity in support of global sustainability goals. – Values for sustainability
key key_display_name count
1688 1688 1
1743 1743 1
1762 1762 1
1770 1770 1
1780 1780 1
1798 1798 1
1800 1800 1
1801 1801 1
1805 1805 1
1808 1808 2
1809 1809 2
1812 1812 1
1817 1817 3
1819 1819 1
1823 1823 1
1824 1824 2
1827 1827 1
1828 1828 3
1829 1829 1
1831 1831 2
1832 1832 2
1833 1833 5
1834 1834 4
1835 1835 1
1836 1836 5
1837 1837 7
1838 1838 5
1839 1839 2
1840 1840 4
1841 1841 2
1842 1842 3
1843 1843 6
1844 1844 1
1845 1845 3
1846 1846 2
1848 1848 4
1849 1849 6
1850 1850 4
1851 1851 3
1852 1852 3
1853 1853 5
1854 1854 5
1855 1855 1
1856 1856 7
1857 1857 5
1858 1858 5
1859 1859 5
1860 1860 4
1861 1861 6
1862 1862 2
1863 1863 5
1864 1864 6
1865 1865 6
1866 1866 5
1867 1867 3
1868 1868 7
1869 1869 4
1870 1870 12
1871 1871 14
1872 1872 8
1873 1873 8
1874 1874 20
1875 1875 15
1876 1876 14
1877 1877 20
1878 1878 17
1879 1879 15
1880 1880 24
1881 1881 23
1882 1882 13
1883 1883 17
1884 1884 19
1885 1885 14
1886 1886 17
1887 1887 17
1888 1888 16
1889 1889 20
1890 1890 17
1891 1891 10
1892 1892 21
1893 1893 15
1894 1894 20
1895 1895 13
1896 1896 16
1897 1897 14
1898 1898 22
1899 1899 23
1900 1900 33
1901 1901 22
1902 1902 28
1903 1903 21
1904 1904 22
1905 1905 23
1906 1906 33
1907 1907 25
1908 1908 27
1909 1909 39
1910 1910 44
1911 1911 38
1912 1912 41
1913 1913 30
1914 1914 43
1915 1915 39
1916 1916 31
1917 1917 34
1918 1918 45
1919 1919 38
1920 1920 46
1921 1921 46
1922 1922 57
1923 1923 58
1924 1924 70
1925 1925 86
1926 1926 63
1927 1927 72
1928 1928 53
1929 1929 69
1930 1930 92
1931 1931 82
1932 1932 75
1933 1933 83
1934 1934 93
1935 1935 106
1936 1936 105
1937 1937 97
1938 1938 95
1939 1939 106
1940 1940 109
1941 1941 84
1942 1942 77
1943 1943 68
1944 1944 74
1945 1945 81
1946 1946 103
1947 1947 109
1948 1948 132
1949 1949 132
1950 1950 147
1951 1951 141
1952 1952 159
1953 1953 182
1954 1954 188
1955 1955 201
1956 1956 226
1957 1957 248
1958 1958 259
1959 1959 286
1960 1960 363
1961 1961 407
1962 1962 425
1963 1963 487
1964 1964 552
1965 1965 587
1966 1966 670
1967 1967 694
1968 1968 781
1969 1969 875
1970 1970 1150
1971 1971 900
1972 1972 1061
1973 1973 1145
1974 1974 1127
1975 1975 1289
1976 1976 1464
1977 1977 1518
1978 1978 1543
1979 1979 1793
1980 1980 1801
1981 1981 1875
1982 1982 1965
1983 1983 2100
1984 1984 2196
1985 1985 2321
1986 1986 2493
1987 1987 2590
1988 1988 2839
1989 1989 3097
1990 1990 3439
1991 1991 3534
1992 1992 3936
1993 1993 4314
1994 1994 4744
1995 1995 5586
1996 1996 6164
1997 1997 7701
1998 1998 8674
1999 1999 9601
2000 2000 10941
2001 2001 11899
2002 2002 13766
2003 2003 14900
2004 2004 16553
2005 2005 18128
2006 2006 20057
2007 2007 21645
2008 2008 23161
2009 2009 25289
2010 2010 28297
2011 2011 31175
2012 2012 34322
2013 2013 37764
2014 2014 40762
2015 2015 43316
2016 2016 43888
2017 2017 45102
2018 2018 49723
2019 2019 56273
2020 2020 66765
2021 2021 75541
2022 2022 74337
2023 2023 80289
2024 2024 23861
2025 2025 2

Reuse

Citation

BibTeX citation:
@report{krug2024,
  author = {Krug, Rainer M.},
  title = {Data {Management} {Report} {Transformative} {Change}
    {Assessment} {Corpus} - {SOD}},
  date = {2024-04-18},
  doi = {10.5281/zenodo.10251349},
  langid = {en},
  abstract = {The literature search for the assessment corpus was
    conducted using search terms provided by the experts and refined in
    co-operation with the Knowldge and Data task force. The search was
    conducted using {[}OpenAlex{]}(https://openalex.org), scripted from
    {[}R{]}(https://cran.r-project.org) to use the
    {[}API{]}(https://docs.openalex.org). Search terms for the following
    searches were defined: **Transformative Change**, **Nature /
    Environment** and **additional search terms for individual chapters
    and sub-chapters** To assess the quality of the corpus, sets of
    key-papers were selected by the experts to verify if these are in
    the corpus. These key-papers were selected per chapter / sub-chapter
    to ensure that the corpus is representative of each chapter.}
}
For attribution, please cite this work as:
Krug, Rainer M. 2024. “Data Management Report Transformative Change Assessment Corpus - SOD.” Report Transformative Change Assessment Corpus. https://doi.org/10.5281/zenodo.10251349.